华为的定位权限(“您的位置”或者“读取位置信息”)怎么检测

2018-10-11 20:29:49 +08:00
 UserANullPointer
华为 Android 系统中,应用的定位权限(“您的位置”或者“读取位置信息”)怎么检测。
我使用下面四个方法检测
PackageManager.PERMISSION_GRANTED == ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION)
PackageManager.PERMISSION_GRANTED == ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION);
ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.ACCESS_COARSE_LOCATION)
ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.ACCESS_FINE_LOCATION)
结果开关权限后都是
true
true
false
false
5649 次点击
所在节点    Android
2 条回复
ysc3839
2018-10-12 11:14:01 +08:00
估计是通过 AppOps 实现的,检测不了。
xiaohei233
2018-10-12 15:21:20 +08:00
checkSelfPermission:这个函数返回是用户是否有这个权限。
shouldShowRequestPermissionRationale:这个是判断用户是否选择了“不再询问”这个,如果用户没有这个权限或者拒绝了这个权限但是没有选中“不再询问”都是返回 false,只有选择“不在询问”才会返回 true。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/496838

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX