Using Espresso and UiAutomator
Android task manager or system dialog
[code language=”java”]
Intent closeDialog = new Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
sendBroadcast(closeDialog);
[/code]
[code language=”java”]
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
Log.e("Focus debug", "Focus changed !");
if (!hasFocus) {
Log.e("Focus debug", "Lost focus !");
Intent closeDialog = new Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
sendBroadcast(closeDialog);
}
}
[/code]
How to dismiss system dialog in Android?
How do I use Espresso with System dialogs
Espresso can’t do it. We should use UiAutomator
[code language=”java”]
InstrumentationRegistry.getInstrumentation().getUiAutomation().performGlobalAction(AccessibilityService.GLOBAL_ACTION_BACK);
[/code]
UiAutomator and Watchers: Adding Async Robustness to UI Automation
Handling Android runtime permissions in UI tests
How would Android UiAutomator behave if it encounters “Force Close or ANR”