为了账号安全,请及时绑定邮箱和手机立即绑定

我们如何侦听Android中的位置权限更改(不触发权限请求)?

我们如何侦听Android中的位置权限更改(不触发权限请求)?

jeck猫 2021-05-17 16:20:35
可能吗?我希望能够创建一个侦听器,该侦听器将收到有关位置权限更改的通知(无论应用是否触发了它们)。据我所知,有一些获取当前权限状态的方法和请求权限的方法,但没有什么方法可以让应用程序监听更改。例如,在iOS中,我们可以在上设置一个委托,CLLocationManager然后通过locationManager(_ manager: CLLocationManager, didChangeAuthorization status: CLAuthorizationStatus)授权状态的任何更改通过调用该委托。有谁知道Android中的任何等效功能(最好与API> = 17兼容)吗?
查看完整描述

2 回答

?
翻过高山走不出你

TA贡献1875条经验 获得超3个赞

可能吗?

不,对不起

据我所知,有一些获取当前权限状态的方法和请求权限的方法,但没有什么方法可以让应用程序监听更改。

如果用户授予您许可,唯一的查找方法是checkSelfPermission()再次致电。

如果用户撤消了先前授予的权限(如Michael在评论中建议的那样),则您的过程将终止,并且您将checkSelfPermission()在下次运行应用程序时通过调用查找有关权限更改的信息。


查看完整回答
反对 回复 2021-05-26
?
SMILET

TA贡献1796条经验 获得超4个赞

没有明确的方法来侦听位置权限更改。但是,当我开发一个自定义视图时,当存在位置权限时该行为具有不同的行为,我在视图内注册了活动生命周期回调,并且在触发针对相关活动的onResume时,我将检查位置权限。

通常,此自定义视图的使用者应自己请求位置权限。当权限请求弹出窗口打开并且用户选择“允许”或“拒绝”时,将触发父活动的onResume。反过来,这将触发您的活动生命周期回调,您可以在此处检查位置许可状态。

但是请注意不要通过此生命周期回调泄漏活动实例。


查看完整回答
反对 回复 2021-05-26
  • 2 回答
  • 0 关注
  • 410 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信