我使用以下代码将帐户添加到帐户列表
final AccountManager accountMgr = AccountManager.get(this.getApplicationContext());
Account ac = new Account("my.id","com.google");
try{
accountMgr.addAccountExplicitly(ac, "password", null);}
catch(Exception e){
String str = e.getLocalizedMessage();
Log.e("err",str);
}
但每次都会出现以下错误: '来电者uid 10066与认证者的uid不同'
答案 0 :(得分:3)
以下stackoverflow问题似乎解决了这个问题:
SecurityException: caller uid XXXX is different than the authenticator's uid
它链接到的文章(http://loganandandy.tumblr.com/post/613041897/caller-uid-is-different)解释了整个事情,虽然我花了一分钟才意识到我的代码中最后一个xml片段引用的部分。
我最终将我的帐户类型和身份验证令牌类型存储在strings.xml中,并根据需要在authenticator.xml和代码中引用它们。