出于安全原因,我想隐藏我们的Android应用程序,使其免受TeamViewer,anyDesk等远程设备访问。
要求是当用户手机用于远程访问时,如果我的应用程序打开,那么其他人必须看到黑屏而不是我的应用程序。
例如:- 在Mobile A
有我的应用程序,比方说ABC App
,现在Mobile A
可以远程访问Mobile B
。现在,当Mobile A
打开ABC App
时,Mobile B
必须看到黑屏而不是ABC App
。
如果FLAG_SECURE
不起作用(它阻止屏幕截图和截屏视频,但不阻止特定的远程支持应用程序(,则远程支持应用程序供应商已与设备制造商合作进行低级访问(例如,直接访问帧缓冲区(。对此没有防御措施。
你能做的最好的事情就是尝试提出一个应用程序的黑名单,使用PackageManager
查看是否安装了这些应用程序中的任何一个,并拒绝在您的应用程序中显示各种屏幕,直到用户卸载这些其他应用程序。
在setContentView()
您不想共享的活动之前,您可以尝试getWindow().getWindowManager()
的最佳方法。这将保护屏幕。