我正在試驗Android AccountManager
。SecurityException在嘗試添加帳戶時
我有一個帳戶驗證服務,顯示用戶界面輸入用戶名/密碼。
我轉到設置/帳戶/添加帳戶,選擇我的新帳戶類型,我與用戶界面呈現。
當我點擊OK我收到以下錯誤
04-24 14:48:29.334: E/AndroidRuntime(386): java.lang.SecurityException:
caller uid 10035 is different than the authenticator's uid
MyAccountAuthenticationService的唯一方法:
@Override
public IBinder onBind(Intent intent) {
return new MyAccountAuthenticator(this).getIBinder();
}
MyAccountAuthenticator:
MyAccountCreatorActivity
的的
@Override
public Bundle addAccount(AccountAuthenticatorResponse response,
String accountType, String authTokenType, String[] requiredFeatures,
Bundle options) throws NetworkErrorException {
final Intent intent = new Intent(context, MyAccountCreatorActivity.class);
intent.putExtra(AccountManager.KEY_ACCOUNT_AUTHENTICATOR_RESPONSE, response);
final Bundle bundle = new Bundle();
bundle.putParcelable(AccountManager.KEY_INTENT, intent);
return bundle;
}
片段onClick
AccountManager accManager = AccountManager.get(this);
Account newAccount = new Account(email, MyAccountAuthenticator.ACCOUNT_TYPE);
accManager.setPassword(newAccount, password);
例外情況引發setPassword
。我已經要求所有的會計許可。我不確定可能會造成這種情況。如果您需要更多的代碼/信息,請詢問。
謝謝。
看到這個http://loganandandy.tumblr.com/post/613041897/caller-uid-is-different也許有幫助 – 2012-04-24 15:09:35
可能重複的[SecurityException:調用者uid XXXX是不同於認證者的uid](http:// stackoverflow.com/questions/3774282/securityexception-caller-uid-xxxx-is-different-than-the-authenticators-uid) – rds 2015-10-27 18:34:40
@rds對不起,這不是一個騙局。原來的XML有一個錯字,但是Android並不能解釋你問題的真正本質 – 2015-10-28 07:37:45