Rob*_*hof 17 android android-permissions android-6.0-marshmallow
我正在尝试访问ACCESS_FINE_LOCATION,如果找不到访问权限ACCESS_COARSE_LOCATION.所以我要求获得这2个权限,但是他们给了我相同的对话框,要求获得位置许可.我知道这些都属于同一组,但谷歌说:
注意:即使用户已在同一组中授予了其他权限,您的应用仍需要明确请求其所需的每个权限.此外,将权限分组到组中可能会在将来的Android版本中发生变化.您的代码不应该依赖于特定权限属于或不属于同一组的假设.
这意味着我要求在一秒内获得这2个权限,这会导致连续2个对话框.这对我来说似乎不太友好.有没有更好的办法?
Raj*_*esh 31
ACCESS_COARSE_LOCATION定义ACCESS_FINE_LOCATION权限时,您不需要权限.
来自Android文档:
请求用户权限
要从
NETWORK_PROVIDER或 接收位置更新GPS_PROVIDER,您必须通过在Android清单文件中分别声明ACCESS_COARSE_LOCATION或ACCESS_FINE_LOCATION权限来请求用户权限 .例如:Run Code Online (Sandbox Code Playgroud)<manifest> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> ....... </manifest>没有这些权限,您的应用程序将在请求位置更新时在运行时失败.
注:如果您使用的是两个
NETWORK_PROVIDER和GPS_PROVIDER,然后你只需要请求ACCESS_FINE_LOCATION许可,因为它包括两个供应商的许可.(ACCESS_COARSE_LOCATION仅限包含权限的权限NETWORK_PROVIDER.)
请查看https://developer.android.com/guide/topics/location/strategies.html
| 归档时间: |
|
| 查看次数: |
18315 次 |
| 最近记录: |