帐户权限组并非所有的权限自动授予 [英] Not all permissions in ACCOUNT permission group granted automatically

查看:180
本文介绍了帐户权限组并非所有的权限自动授予的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我的应用程序,我需要创建一个帐户以下权限:

In my app, I need the following permissions for creating an account:

<uses-permission android:name="android.permission.GET_ACCOUNTS"/>
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS"/>
<uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS"/>
<uses-permission android:name="android.permission.USE_CREDENTIALS"/>

这是我的理解是,在男,这些应该被自动授予。

It is my understanding that in the M, these should be granted automatically.

不过,我所看到的是,只有GET_ACCOUNTS是理所当然的。我检查用下面的code:

However, what I'm seeing is that only GET_ACCOUNTS is granted. I've checked this with the following code:

@Override protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);

  logPermissionStatus(Manifest.permission.GET_ACCOUNTS);
  logPermissionStatus(Manifest.permission.MANAGE_ACCOUNTS);
  logPermissionStatus(Manifest.permission.AUTHENTICATE_ACCOUNTS);
  logPermissionStatus(Manifest.permission.USE_CREDENTIALS);
}

private void logPermissionStatus(String permission) {
  if (checkSelfPermission(permission) == PackageManager.PERMISSION_GRANTED) {
    Log.d("AccountPermissions", "Granted: " + permission);
  } else {
    Log.d("AccountPermissions", "Denied:  " + permission);
  }
}

它打印:

D/AccountPermissions﹕ Granted: android.permission.GET_ACCOUNTS
D/AccountPermissions﹕ Denied:  android.permission.MANAGE_ACCOUNTS
D/AccountPermissions﹕ Denied:  android.permission.AUTHENTICATE_ACCOUNTS
D/AccountPermissions﹕ Denied:  android.permission.USE_CREDENTIALS

如果我尝试请求的权限

requestPermissions(new String[] {
    Manifest.permission.GET_ACCOUNTS,
    Manifest.permission.MANAGE_ACCOUNTS,
    Manifest.permission.AUTHENTICATE_ACCOUNTS,
    Manifest.permission.USE_CREDENTIALS,
}, 1);

对话框说允许AccountPermissions执行一个未知的行动吗?,导致我相信,这些不打算从用户请求。此外,该帐户权限组显示了在应用程序信息页面上遗留的权限。

The dialog says "Allow AccountPermissions to perform an unknown action?", leading me to believe that these are not intended to be requested from the user. Additionally, the ACCOUNT permission group shows up under legacy permissions on the app info page.

我需要做些什么来让机器人自动授予我这些权限,还是我真的应该向用户请求呢?

Do I need to do something to get Android to grant me these permissions automatically, or am I really supposed to request them from the user?

推荐答案

这是固定在最新的M preVIEW。

This was fixed in the latest M preview.

这篇关于帐户权限组并非所有的权限自动授予的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆