Java AccountManagerFuture.getResult()结果为;不能';t登录“;屏幕

Java AccountManagerFuture.getResult()结果为;不能';t登录“;屏幕,java,android,accountmanager,Java,Android,Accountmanager,我正在尝试使用AccountManager为已安装的Google帐户获取令牌。当我在AccountManagerFuture对象上调用getResult()时,我会在设备上看到“无法登录”屏幕(屏幕上会进一步显示“与Google服务器通信时出现问题。请稍后再试).在调用此方法之前,我检查了网络连接是否可用。我还检查了浏览器中我能够访问的设备,例如google.com。以下是我的AccountManagerCallback的代码: amf=accMgr.getAuthToken(帐户,authTo

我正在尝试使用AccountManager为已安装的Google帐户获取令牌。当我在AccountManagerFuture对象上调用getResult()时,我会在设备上看到“无法登录”屏幕(屏幕上会进一步显示“与Google服务器通信时出现问题。请稍后再试).在调用此方法之前,我检查了网络连接是否可用。我还检查了浏览器中我能够访问的设备,例如google.com。以下是我的AccountManagerCallback的代码:

amf=accMgr.getAuthToken(帐户,authTokenType,null,true,
新建AccountManagerCallback(){
公共无效运行(AccountManagerFuture arg0){
捆绑结果;
意图一;
字符串标记;
试试{
结果=arg0.getResult();
if(result.containsKey(AccountManager.KEY_INTENT)){
i=(Intent)result.get(AccountManager.KEY\u Intent);
如果(i.toString()包含(“GrantCredentialsPermissionActivity”){
//必须等待用户接受
//因此,这项要求必须得到满足
//在前台应用程序中运行
星体触觉(i);
}否则{
星体触觉(i);
}
令牌=(字符串)result.get(AccountManager.KEY\u AUTHTOKEN);
}否则{
令牌=(字符串)result.get(AccountManager.KEY\u AUTHTOKEN);
}  
}捕获(操作取消异常e){
e、 printStackTrace();
}捕获(认证例外){
e、 printStackTrace();
}捕获(IOE){
e、 printStackTrace();
}  
}  
},处理程序);
此外,LogCat中的这些条目可能会有所帮助:

08-02 15:51:00.911: I/GLSUser(10134): GLS error: Unknown XXXX@gmail.com com.google
08-02 15:51:00.911: V/GoogleLoginService(10134): Returning error intent with: ComponentInfo{com.google.android.gsf.login/com.google.android.gsf.login.LoginActivity}
08-02 15:51:03.294: I/ActivityManager(324): START {cat=[XXXX@gmail.com] flg=0x10000000 cmp=com.google.android.gsf.login/.LoginActivity (has extras) u=0} from pid 11147

(注意:实际的gmail帐户名已删除以避免垃圾邮件。)

您是否正在生成已签名的APK?如果您没有生成已签名的APK(例如,如果您刚刚点击“run app”),您将无法利用设备上已注册的Google帐户。因此,您必须点击“与其他人登录”并以迂回方式登录


(免责声明:我没有尝试运行您的代码,但这听起来像是我之前遇到的问题。)

也有同样的问题。范围(您的变量authTokenType)显然有某种关联。如果我将其设置为“查看您的任务”“然后错误消失了,我得到了一个令牌。不幸的是,我对查看任务不感兴趣。如果我按照其他地方的建议将其设置为https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.profile,我会得到您得到的错误。谷歌搜索一些关于范围可能值的参考资料对我来说还不起作用,但我不会放弃。嘿,你解决了你的问题了吗?我正在尝试将非官方的谷歌音乐API应用到我的android应用程序中,我遇到了同样的“无法登录”屏幕。谢谢一、 首先,不要相信我找到了一个好的解决方案。对我来说,这并不重要,所以我没有投入大量的时间@但是,bee的回答可能会指出我遇到的问题,因为我没有生成签名的APK。这个问题:说它比这更难,看起来需要
GoogleAuthUtil