gmaps 的 MarshMallow 权限
MarshMallow Permission for gmaps
如果gmaps
需要此权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
- 我应该用
requestPermissions
向用户索取每一个吗?
- 我检查了几次,它只是崩溃说用户没有为
android.permission.ACCESS_FINE_LOCATION
而不是其他人授予权限,为什么?
您应该只需要为 LOCATION 和 STORAGE 组请求权限。我也很确定 Fine location 包括 Coarse 权限,因此您不需要在清单中包含该行。
should I ask for each one to the user with requestPermissions
?
首先什么时候使用 requestPermission ?
requestPermission is only call after checkSelfPermission 当此方法不 return PERMISSION_GRANTED
.
您可以找到 android M 在运行时需要的 list of permission。这些权限中的每一个都是权限组的一部分。 WRITE_EXTERNAL_PERMISSION
来自 android.permission-group.STORAGE
,ACCESS_COARSE_LOCATION
/ ACCESS_FINE_LOCATION
来自 android.permission-group.LOCATION
。
如果用户允许访问权限 - 例如 ACCESS_COARSE_LOCATION
-,那么 android 将自动授予此权限组的访问权限 - 即permission-group.LOCATION
-.因此,如果您稍后 checkSelfPermission
获得 ACCESS_FINE_LOCATION
,您应该会收到 PackageManager.PERMISSION_GRANTED
.
如果您的应用程序崩溃,这意味着您在向用户请求权限组位置之前尝试调用,例如 LocationServices.FusedLocationApi.requestLocationUpdates
。
编辑:
不要忘记 requestPermission
是 异步的 。所以不要在requestPermission之后立即调用需要权限的方法。要调用需要权限的方法,您应该重写 onRequestPermissionsResult,它会为您提供权限列表及其状态 -granted/denied-。
如果gmaps
需要此权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
- 我应该用
requestPermissions
向用户索取每一个吗? - 我检查了几次,它只是崩溃说用户没有为
android.permission.ACCESS_FINE_LOCATION
而不是其他人授予权限,为什么?
您应该只需要为 LOCATION 和 STORAGE 组请求权限。我也很确定 Fine location 包括 Coarse 权限,因此您不需要在清单中包含该行。
should I ask for each one to the user with
requestPermissions
?
首先什么时候使用 requestPermission ?
requestPermission is only call after checkSelfPermission 当此方法不 return PERMISSION_GRANTED
.
您可以找到 android M 在运行时需要的 list of permission。这些权限中的每一个都是权限组的一部分。 WRITE_EXTERNAL_PERMISSION
来自 android.permission-group.STORAGE
,ACCESS_COARSE_LOCATION
/ ACCESS_FINE_LOCATION
来自 android.permission-group.LOCATION
。
如果用户允许访问权限 - 例如 ACCESS_COARSE_LOCATION
-,那么 android 将自动授予此权限组的访问权限 - 即permission-group.LOCATION
-.因此,如果您稍后 checkSelfPermission
获得 ACCESS_FINE_LOCATION
,您应该会收到 PackageManager.PERMISSION_GRANTED
.
如果您的应用程序崩溃,这意味着您在向用户请求权限组位置之前尝试调用,例如 LocationServices.FusedLocationApi.requestLocationUpdates
。
编辑:
不要忘记 requestPermission
是 异步的 。所以不要在requestPermission之后立即调用需要权限的方法。要调用需要权限的方法,您应该重写 onRequestPermissionsResult,它会为您提供权限列表及其状态 -granted/denied-。