【发布时间】:2016-11-03 22:29:38
【问题描述】:
我的 AndroidManifest:
<uses-permission android:name="android.permission.GET_ACCOUNTS"/>
<uses-permission android:name="android.permission.READ_CONTACTS"/>
<uses-permission android:name="android.permission.WRITE_CONTACTS"/>
我的 build.gradle:
classpath 'com.android.tools.build:gradle:2.1.2'
我的活动onCreate():
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.LOLLIPOP_MR1) {
if (ContextCompat.checkSelfPermission(this,
Manifest.permission.GET_ACCOUNTS)
!= PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(AnyMailMainActivity.this,
new String[]{Manifest.permission.GET_ACCOUNTS},
MY_PERMISSIONS_REQUEST_READ_CONTACTS);
} else {
mContactPermissionGranted = true;
}
} else {
mContactPermissionGranted = true;
}
我的onRequestPermissionsResult():
```
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
switch (requestCode) {
case MY_PERMISSIONS_REQUEST_READ_CONTACTS: {
// If request is cancelled, the result arrays are empty.
if (grantResults.length > 0
&& grantResults[0] == PackageManager.PERMISSION_GRANTED) {
mContactPermissionGranted = true;
} else {
mContactPermissionGranted = false;
}
return;
}
}
}
```
不过,我既没有收到“请求联系对话框”,也没有获得 GET_ACCOUNTS 的任何权限。 目的是在不显示谷歌帐户选择器的情况下从 Android M 及更高版本的设备获取谷歌电子邮件。就像我们在 Android M 之前获取帐户列表的方式一样。
【问题讨论】:
标签: android android-6.0-marshmallow android-permissions