【问题标题】:How can I detect screen overlays from other apps?如何检测其他应用程序的屏幕覆盖?
【发布时间】:2019-06-06 05:00:37
【问题描述】:

有没有办法以编程方式检测另一个应用正在覆盖我的应用?

或者有没有办法阻止这个?

或者有没有办法检测非系统应用有SYSTEM_ALERT_WINDOW权限?

出于安全原因,当另一个应用程序覆盖我时,我的活动可能无法使用。

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

【问题讨论】:

标签: android


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    你可以使用

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

    返回PERMISSION_GRANTEDPERMISSION_DENIED

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

    对于targetVersion 小于23 的设备,默认PERMISSION_GRANTED 将在那里。

    【讨论】:

      猜你喜欢
      • 2016-12-05
      • 2016-09-18
      • 1970-01-01
      • 2017-08-04
      • 2016-11-05
      • 2017-01-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多