Activity 中的屏幕截图覆盖未调用 onPause()
Screenshot overlay not calling onPause() in Activity
我试图在用户截取屏幕截图时在我的应用程序中显示一个对话框。我已经在 onResume 中添加了一些带有标志的代码,如果用户使用屏幕截图执行某些操作然后返回到应用程序(即共享屏幕截图图像),则该代码可以正常工作。
但是,如果用户截取屏幕截图并显示带有某些选项(通常是共享、编辑、删除)的叠加层几秒钟,然后如果不采取任何操作则消失,那么 activity 永远不会被调用。知道如何检测我的 activity 上显示的屏幕截图覆盖吗?
我通过向 activity 添加一个用于焦点更改的侦听器来修复它:
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
if(hasFocus && hasScreenshotBeenDetected && !showingScreenshotAlert) {
showScreenShotDialog();
}
}
我试图在用户截取屏幕截图时在我的应用程序中显示一个对话框。我已经在 onResume 中添加了一些带有标志的代码,如果用户使用屏幕截图执行某些操作然后返回到应用程序(即共享屏幕截图图像),则该代码可以正常工作。
但是,如果用户截取屏幕截图并显示带有某些选项(通常是共享、编辑、删除)的叠加层几秒钟,然后如果不采取任何操作则消失,那么 activity 永远不会被调用。知道如何检测我的 activity 上显示的屏幕截图覆盖吗?
我通过向 activity 添加一个用于焦点更改的侦听器来修复它:
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
if(hasFocus && hasScreenshotBeenDetected && !showingScreenshotAlert) {
showScreenShotDialog();
}
}