屏幕截图覆盖不在Activity中调用onPause()

时间:2018-04-12 08:36:07

标签: android dialog overlay screenshot detect

当用户截取屏幕截图时,我正试图在我的应用中显示一个对话框。我已经使用一个标志向onResume添加了一些代码,如果用户使用屏幕截图执行操作然后返回应用程序(即共享截屏图像),则可以正常工作。

但是,如果用户截取屏幕截图并显示一些选项(通常为“共享”,“编辑”,“删除”)几秒钟,然后在未执行任何操作时消失,则永远不会调用活动的onPause。知道如何检测我的活动上显示的屏幕截图叠加?

1 个答案:

答案 0 :(得分:0)

我通过在活动中添加一个用于焦点更改的监听器来修复它:

 @Override
 public void onWindowFocusChanged(boolean hasFocus) {
    super.onWindowFocusChanged(hasFocus);
    if(hasFocus && hasScreenshotBeenDetected && !showingScreenshotAlert) {
        showScreenShotDialog();
    }
}