在我开始之前,我想强调一下,我读了一些答案但他们并没有帮助我.喜欢:
addAccountExplicitly抛出Securityexception引起的IllegalStateException
SecurityException:调用者uid XXXX与身份验证者的uid不同 ...
像标题建议,我试图在应用程序(不是服务)下的Activty中使用AccountManager,但没有成功.我使用4.3模拟器(英特尔图像).我可以轻松地在模拟器上添加所有帐户(通过android界面添加)但是当我想创建一个时出现错误:
09-14 13:21:21.863: E/AndroidRuntime(3291): java.lang.SecurityException: caller uid 10046 is different than the authenticator's uid
09-14 13:21:21.863: E/AndroidRuntime(3291): at android.os.Parcel.readException(Parcel.java:1431)
09-14 13:21:21.863: E/AndroidRuntime(3291): at android.os.Parcel.readException(Parcel.java:1385)
09-14 13:21:21.863: E/AndroidRuntime(3291): at android.accounts.IAccountManager$Stub$Proxy.addAccountExplicitly(IAccountManager.java:719)
09-14 13:21:21.863: E/AndroidRuntime(3291): at android.accounts.AccountManager.addAccountExplicitly(AccountManager.java:612)
Run Code Online (Sandbox Code Playgroud)
这是我的快速代码片段:
Login.java - >
public class Login extends AccountAuthenticatorActivity {
...
protected void onCreate(Bundle savedInstanceState) {
...
AccountManager accountmanager = AccountManager.get(this);
Account userAccount = new Account(“Test”, “test.activities”);
if (accountmanager.addAccountExplicitly(userAccount, “pass”, null))
System.out.println(“Added success”);
else System.out.println(“Added failed”);
}
...
}
Run Code Online (Sandbox Code Playgroud)
RES/XML/authenticator.xml …