当前位置:  开发笔记 > 编程语言 > 正文

AccountManager返回空帐户

如何解决《AccountManager返回空帐户》经验,为你挑选了1个好方法。

我这是在描述实现我自己的身份验证的应用程序此文章.它按预期工作正常.现在我需要从AccountManager获取谷歌帐户,我这样做:

 Account[] accounts = AccountManager.get(this).getAccountsByType("com.google");

问题是它返回一个空数组.但是,当我在我的测试应用程序中使用此片段而没有所有Authenticator的东西时,它就像一个魅力.我看不出这些案件之间的实际差异在哪里.有人遇到过这个问题吗?



1> Dan Lew..:

我的猜测是你缺乏GET_ACCOUNTS许可.您可以在没有它的情况下获得自己的应用程序帐户,但访问其他帐户需要获得许可.

GET_ACCOUNTS由于运行时权限,这比现在在清单中简单请求要复杂一些.现在,你必须动态地要求他们,并显示给用户的信息GET_ACCOUNTS是非常神秘的(它要求访问通讯录,因为它是接触权限组的一部分).

您可能需要考虑使用AccountPicker(来自Google Play服务),不需要任何权限.它向用户显示了一个包含所请求帐户的对话框(并提供了添加新帐户的选项).

推荐阅读
有风吹过best
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有