我正在试验 Android AccountManager
。
我有一个帐户身份验证服务,显示 UI 以输入用户名/密码。
我转到设置/帐户/添加帐户,选择我的新帐户类型,然后我会看到 UI。
当我单击确定时,我收到以下错误
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:
@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;
}
MyAccountCreatorActivity
的片段onClick
AccountManager accManager = AccountManager.get(this);
Account newAccount = new Account(email, MyAccountAuthenticator.ACCOUNT_TYPE);
accManager.setPassword(newAccount, password);
抛出异常setPassword
。我已经需要所有的会计权限。我不确定是什么原因造成的。如果您需要更多代码/信息,请询问。
谢谢你。