我想删除内存中的所有应用以便干净利落。如果我知道内存中的应用程序,可以按照以下方式完成
try
{
getUiDevice().pressRecentApps();
UiObject uio = new UiObject(new UiSelector().text("apps one"));
uio.swipeRight(20);
uio = new UiObject(new UiSelector().text("facebook"));
uis.swipeRight(20);
}
catch (RemoteException e)
{
e.printStackTrace();
}
然而,我想要的是不了解当前应用的列表,我只是想在内存中打开应用列表,然后将它们移开。有没有办法编写一个For-Loop,通过UiAutomator API获取内存中的应用程序列表?
答案 0 :(得分:0)
您可以尝试这样的事情:
try
{
getUiDevice().pressRecentApps();
UiObject uio = new UiObject(new UiSelector().resourceId("com.android.systemui:id/recent_item"));
while uio.exists(){
uio.swipeRight(20);
uio = new UiObject(new UiSelector().text("facebook"));
uis.swipeRight(20);
UiObject uio = new UiObject(new UiSelector().text("apps one"));
}
catch (RemoteException e)
{
e.printStackTrace();
}
稍后更新:
而不是文本(" apps one")使用视图属性,如类名资源ID。 你可以在android监视器中看到这些(你可以在平台工具中找到它)。 选择左侧的设备,然后按屏幕截图旁边的按钮。 这将在屏幕上生成所有视图,您可以看到最近的应用程序面板的布局。