如何检测其他应用程序的屏幕覆盖?

时间:2019-06-06 05:00:37

标签: android

是否可以通过编程方式检测到另一个应用在我的应用上绘制?

还是有办法阻止它?

还是有办法检测非系统应用程序是否具有SYSTEM_ALERT_WINDOW权限?

出于安全原因,我进行的一项活动可能会在其他应用吸引我使用时取消。

游戏等不存在类似的东西吗?

2 个答案:

答案 0 :(得分:0)

您可以使用应用程序生命周期方法,因为另一个应用程序进入前台,您将执行onPause,然后最终进入后台。我没有尝试过,但是一定是这样。最好先通过应用程序生命周期方法,然后再进行尝试。

答案 1 :(得分:0)

您可以使用

packageManager.checkPermission(android.Manifest.permission.SYSTEM_ALERT_WINDOW,"com.example.yourpackage")

返回PERMISSION_GRANTEDPERMISSION_DENIED

可能的解决方案是通过获取设备内部所有可用应用程序的程序包名称进行迭代来对其进行检查。

对于targetVersion默认小于23的设备PERMISSION_GRANTED将会存在。