【发布时间】:2018-12-21 23:06:01
【问题描述】:
有可能吗?我希望能够创建一个侦听器,该侦听器将收到有关位置权限更改的通知(应用程序是否触发它们)。据我所知,有获取当前权限状态的方法和请求权限的方法,但没有任何方法可以简单地让应用程序监听更改。
例如,在 iOS 中,我们可以在 CLLocationManager 上设置一个委托,然后在授权状态发生任何变化时通过 locationManager(_ manager: CLLocationManager, didChangeAuthorization status: CLAuthorizationStatus) 调用该委托。有谁知道 Android 中的任何等效项(最好与 API >= 17 兼容)?
【问题讨论】:
-
这种东西不存在,需要的时候才能查看
-
你提到的方法只返回你自己包的权限,不能查看其他应用。
-
另外请注意,如果您的应用程序具有位置权限,并且用户进入设置应用程序并禁用您的应用程序的位置权限,如果您的应用程序在后台运行,Android 将终止它(我不知道它是否会杀死进程,但无论如何都会清除活动堆栈)。
-
@Pawel 别担心——我不担心监控其他应用的位置权限。但是,如果能够收听位置状态的全局启用/禁用,那就太好了(我知道这可能是一个单独的主题)。
-
@Michael 谢谢——很高兴知道至少活动堆栈已被清除!
标签: java android kotlin android-location android-fusedlocation