Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/178.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 沉浸式模式确认加浓咖啡2.2.2_Android_Junit4_Android Espresso_Android Junit - Fatal编程技术网

Android 沉浸式模式确认加浓咖啡2.2.2

Android 沉浸式模式确认加浓咖啡2.2.2,android,junit4,android-espresso,android-junit,Android,Junit4,Android Espresso,Android Junit,看起来谷歌云测试服务器上的一些虚拟设备无法正确执行测试,因为沉浸式模式确认弹出窗口(如图所示:)-有没有办法用浓缩咖啡自动关闭该弹出窗口?基本上,我的代码可以在本地模拟器中工作,但不能在谷歌云服务器上工作。 这就是失败之处: View v = activity.getWindow().getDecorView(); v.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_

看起来谷歌云测试服务器上的一些虚拟设备无法正确执行测试,因为沉浸式模式确认弹出窗口(如图所示:)-有没有办法用浓缩咖啡自动关闭该弹出窗口?基本上,我的代码可以在本地模拟器中工作,但不能在谷歌云服务器上工作。 这就是失败之处:

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);

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

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

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

我找到了一个有效的解决方案。这与Paul的答案类似,但通过在测试运行之前以编程方式设置权限,而不是使用ADB。 有一个LinkedIn开源库,它可以为您做任何事情,从获得WRITE_SECURE_SETTINGS权限到动态更改沉浸式确认对话框的需要。 设置库后,在测试开始前使用以下行:

TestButler.setImmersiveModeConfirmation(false);

有关更多详细信息和安装说明,请参见。

我已使用类似版本的@paul-t解决了此问题。启动仿真器后,运行下一个命令:

adb shell settings put secure immersive_mode_confirmations confirmed
之后,您可以执行您的浓缩咖啡测试


灵感:

不幸的是,这个命令不起作用:(这个对话框真的很烦人。如果你有一个根设备,我相信这可能会起作用。