当用户按下主页按钮时,onStop()方法被调用,并且系统截取屏幕截图,当用户按下并按住主页按钮(在Android手机上)时,可以在打开的应用程序中看到该屏幕截图.
我的问题是如何防止可以拿电话并按住主页按钮的任何人看到敏感数据?
想象一下,应用程序(活动)呈现了一个秘密文档的预览,并且用户按下了主页按钮(也许有人刚刚接近了用户,但他不想让任何人看到他的秘密文档).但是,此后接电话的任何人都可以按住主屏幕按钮并查看一些敏感数据.
我试图隐藏onPause和/或onStop视图,但这不起作用.
那么,如何在onStop之后截屏之前删除当前可见视图?
谢谢.
解决方法:
My question is how to prevent sensitive data to be visible to anybody who can take a phone and press and hold home button?
引用myself:
However, for the user’s benefit, there may be reasons to block screenshots from certain of your activities. To do that, use
FLAG_SECURE
:
public class FlagSecureTestActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getwindow().setFlags(LayoutParams.FLAG_SECURE,
LayoutParams.FLAG_SECURE);
setContentView(R.layout.main);
}
}