我正在实施类似于Google Photo App登录的登录安静。我没有在Android Marshmallow中测试我的应用。这需要许可:
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
在此之前安静清除没有问题。但是,应用程序如何在不请求或授予应用程序设置权限的情况下读出我的帐户?
当我尝试使用时:
Account[] googleAccounts = AccountManager.get(context).getAccountsByType(GoogleAuthUtil.GOOGLE_ACCOUNT_TYPE);
我只是得到一个空数组。我做错了什么?
答案 0 :(得分:1)
过去一周,我使用Google登录信息(https://developers.google.com/identity/sign-in/android/offline-access)对服务器端访问进行了编码,您不需要GET_ACCOUNTS
。
该应用程序会向Google Play服务请求您将发送到您服务器的令牌。这就是全部。 Google Play服务会访问帐户,弹出用户界面以供用户同意/确认等等。
所以,我假设谷歌照片使用的是什么。另一个有效的答案是,它们是由操作系统的创建者开发和签署的系统应用程序,他们无法通过简单地访问受保护的API来做任何他们想做的事情。