获得调用者uid 10066与认证者的uid不同

时间:2011-09-22 07:28:52

标签: android accountmanager

我使用以下代码将帐户添加到帐户列表

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不同'

1 个答案:

答案 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和代码中引用它们。