在我的应用中,显示用户敏感数据(收件箱,密码,银行帐户余额等)的活动。这些部分当然是受密码保护的,用户会在一段时间后自动注销(这在onRestart()中进行了检查)。问题是当这个应用程序在Android 3.0+(最近的应用程序菜单上有最新应用程序的图像)上运行时,这些敏感数据在此菜单中是可读的。有没有办法将图像更改为应用程序徽标或其他内容?
我已经尝试使用EXCLUDE_FROM_RECENTS标志在新任务中启动这些部分,这有助于中断用户体验。
其他选项是在onPause()方法中尝试启动某种“徽标活动”,它将在onRestart()中停止并将显示在最近的应用程序菜单中。
还有其他/更好的建议吗?谢谢!
答案 0 :(得分:11)
是否可以将该图像更改为应用徽标或其他内容?
向窗口添加FLAG_SECURE
处理此问题,IIRC:
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);
}
}
这也会阻止ICS设备上的屏幕截图支持屏幕截图。