具有GET_ACCOUNTS权限的错误消息

sou*_*rar 12 android google-account android-permissions android-6.0-marshmallow

我尝试使用使用Google+登录的新Android M权限更新我的应用,但是当我执行checkSelfPermission(Manifest.permission.GET_ACCOUNTS)弹出的对话框时说"允许MyApp访问您的联系人?" 使用拒绝和允许按钮.

对于GET_ACCOUNTS权限,这似乎有些奇怪.不应该说与访问您的帐户相关的内容吗?这是一个错误吗?或者我应该采取不同的做法?

DDs*_*six 5

GET_ACCOUNTS 权限是 android.permission-group.CONTACTS 组的一部分,以及

  • android.permission.READ_CONTACTS
  • android.permission.WRITE_CONTACTS
  • android.permission.GET_ACCOUNTS

这就是您收到 CONTACTS 消息的原因。

因此,当您在一个组中请求一个权限时,您将获得该组中的所有权限。您可以在此处找到有关 Android M 权限的更多信息

  • 嗯。。这很奇怪。因此,如果我们要求 GET_ACCOUNTS 权限似乎会误导用户说我们正在尝试读取联系人。不? (3认同)
  • 这是谷歌的一个非常糟糕的实现。他们尝试对权限进行分组,因此用户不必为每个单独的权限授予访问权限。但在这种情况下,分组就没有意义了。您可能会要求访问用户的谷歌驱动器帐户,这与联系人无关,并且 shouldShowRequestPermissionRationale() 只会在他们拒绝请求时出现。 (3认同)
  • 我确实有,但似乎它没有被调用,而且似乎 Android 决定是否应该显示它。所以 :( (2认同)