【发布时间】:2017-05-03 12:58:16
【问题描述】:
我正在尝试从 https://developers.google.com/android/guides/permissions 实现 Android 权限
几个问题: 1) 回调 onRequestPermissionResult - 参数 String[] 权限和 int[]grantResults 来自哪里? 2) 我不断获得 grantResults 和 String[] 权限的空值 3) 我已将 const REQUEST_LOCATION 的值设置为 0 - 这个 const 的值有什么关系?
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION)
!= PackageManager.PERMISSION_GRANTED) {
// Check Permissions Now
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.ACCESS_FINE_LOCATION},
REQUEST_LOCATION);
} else {
// permission has been granted, continue as usual
Location myLocation =
LocationServices.FusedLocationApi.getLastLocation(mGoogleApiClient);
}
一个不相关的问题...在获取 google map API 密钥时,是否需要设置 SHA-1 值或者是可选的,并且仅将密钥限制为 android。
谢谢。
public void onRequestPermissionsResult(int requestCode,
String[] permissions,
int[] grantResults)
【问题讨论】:
-
"参数 String[] 权限和 int[]grantResults 来自哪里?" --
String[]应该包含您传递给requestPermissions()的字符串。int[]包含这些权限的相应状态(例如,已授予)。就个人而言,我从不使用这些。 “这个 const 的值有什么关系?” -- 它需要在来自此活动或其片段的所有requestPermisions()和startActivityForResult()调用中有所不同。
标签: android google-maps