मैं एंड्रॉइड AccountManager
के साथ प्रयोग कर रहा हूं।सुरक्षा अपवाद खाता खोलने का प्रयास करते समय
मेरे पास खाता प्रमाणीकरण सेवा है जो उपयोगकर्ता नाम/पासवर्ड दर्ज करने के लिए यूआई दिखाती है।
मैं सेटिंग्स/खाते/खाता जोड़ें, अपना नया खाता प्रकार चुनें और मुझे यूआई के साथ प्रस्तुत किया गया है।
जब मैं ठीक क्लिक करें मैं निम्नलिखित त्रुटि मिलती है
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
पर फेंक दिया गया है। मुझे पहले से ही सभी लेखांकन अनुमतियों की आवश्यकता है। मुझे यकीन नहीं है कि इसका कारण क्या हो सकता है। अगर आपको अधिक कोड/जानकारी चाहिए तो कृपया पूछें।
धन्यवाद।
यह http://loganandandy.tumblr.com/post/613041897/caller-uid-is- भिन्न हो सकता है उपयोगी –
संभावित सुरक्षा डुप्लिकेट [सुरक्षा अपवाद: कॉलर यूआईडी XXXX प्रमाणीकरणकर्ता के यूआईडी से अलग है] (http: // stackoverflow.com/questions/3774282/securityexception-caller-uid-xxxx-is- अलग-than-the-authenticators-uid) – rds
@rds क्षमा करें यह एक डुप्ली नहीं है। मूल एक्सएमएल में एक टाइपो था, हालांकि एंड्रॉइड आपको –