浓缩咖啡2.2.2



看来Google云测试服务器上的某些虚拟设备由于具有沉浸式模式确认弹出窗口无法正确执行测试(如下所示:https://developer..android.com/training/System -ui/immersive.html( - 是否有一种方法可以自动关闭这种弹出式咖啡?基本上,我的代码在本地模拟器中起作用,但在Google Cloud Server中不起作用。这就是失败的:

View v = activity.getWindow().getDecorView();
v.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE
    | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
    | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
    | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);

我已经使用 @paul-t的类似版本解决了问题。一旦启动模拟器运行下一个命令:

adb shell settings put secure immersive_mode_confirmations confirmed

之后,您可以执行浓缩咖啡测试。

灵感:http://sviatoslavdev.blogspot.com/2018/02/adb-setings-secure.html

您可以在模拟器启动后立即运行这些ADB命令:

adb shell settings put secure immersive_mode_confirmations your.package.com
adb reboot (required)

inmimerive_mode_confirmations 是逗号分隔的包装列表,不再需要确认沉浸式模式

我找到了一个工作解决方案。它类似于保罗的答案,但是通过在运行测试之前以编程方式设置权限而不是使用ADB。有一个LinkedIn开源库可以为您完成所有操作,从获得Write_secure_settings权限到动态更改沉浸式确认对话的需求。设置库后,请在测试开始之前使用以下行:

TestButler.setImmersiveModeConfirmation(false);

有关更多详细信息和设置说明,请转到此处。

最新更新