Pep*_*lac 5 android android-uiautomator
有没有人知道如何
am start -a ACTIVITY从uiautomator代码中调用.
或者是否可以直接从junit代码开始活动.
这是我用来从.jar文件启动活动的示例:
private boolean startSettings() {
    try {
        Runtime.getRuntime().exec(
                "am start -n com.android.settings/.Settings");
        sleep(1000);
    } catch (IOException e) {
        e.printStackTrace();
    }
    for (int i = 0; i < 5; i++) {
        sleep(1000);
        if (getUiDevice().getCurrentPackageName().contains(
                "com.android.settings")) {
            return true;
        }
    }
    return false;
}
您可以修改代码以启动任何应用程序.您还可以通过为包/活动值添加参数来使方法更通用.
它应该是以下代码。我在测试中使用这个。
UiDevice device = UiDevice.getInstance(getInstrumentation());
final String TARGET_PACKAGE =
        InstrumentationRegistry.getTargetContext().getPackageName();
Context context = InstrumentationRegistry.getContext();
final Intent intent = context.getPackageManager().getLaunchIntentForPackage(TARGET_PACKAGE);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
context.startActivity(intent);
device.wait(Until.hasObject(By.pkg(TARGET_PACKAGE).depth(0)), 5000);
| 归档时间: | 
 | 
| 查看次数: | 6166 次 | 
| 最近记录: |