基本認証が成功したら、後で使用するためにアカウントを追加します。私は、次のコードを使用してこのアカウントを作成しようとしたとき:addAccountExplicitly(アカウント、パスワード、ヌル)でAndroidアプリがクラッシュする。
AccountManager accountManager = AccountManager.get(getBaseContext());
final Account basicAccount = new Account(mEmail, "com.example");
accountManager.addAccountExplicitly(basicAccount, mPassword, null);
addAccountExplicitly(...)は、次のエラーでアプリがクラッシュと呼ばれ
:
E/AndroidRuntime: FATAL EXCEPTION: main
E/AndroidRuntime: Process: com.example, PID: 19094
E/AndroidRuntime: java.lang.SecurityException: uid 10107 cannot explicitly add accounts of type: com.example
E/AndroidRuntime: at android.os.Parcel.readException(Parcel.java:1599)
E/AndroidRuntime: at android.os.Parcel.readException(Parcel.java:1552)
E/AndroidRuntime: at android.accounts.IAccountManager$Stub$Proxy.addAccountExplicitly(IAccountManager.java:890)
E/AndroidRuntime: at android.accounts.AccountManager.addAccountExplicitly(AccountManager.java:712)
E/AndroidRuntime: at com.example.LoginActivity$UserLoginTask.onPostExecute(LoginActivity.java:244)
E/AndroidRuntime: at com.example.LoginActivity$UserLoginTask.onPostExecute(LoginActivity.java:209)
E/AndroidRuntime: at android.os.AsyncTask.finish(AsyncTask.java:651)
E/AndroidRuntime: at android.os.AsyncTask.-wrap1(AsyncTask.java)
E/AndroidRuntime: at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:668)
E/AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:102)
E/AndroidRuntime: at android.os.Looper.loop(Looper.java:148)
E/AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:5417)
E/AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
E/AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
W/ActivityManager: Force finishing activity com.example/.LoginActivity
質問:
-
を
- 自分のAccountTypeがmy authenticator.xmlで指定されたものと同じであることは確かです。なぜ私のコードがクラッシュするのですか?
- 基本認証でAccountManagerとAccountを使用することはできますか?私はこれの良い例を見つけることができませんでした(彼らはすべてトークンを使用しています...)
- 私の考えは、このアカウントをいくつかのアプリケーションに使用することです。認証(インテント付き)にサービスを使用することがベストプラクティスと考えられていますか?これに関する良いチュートリアルはありますか?次のスニペットは、AndroidManifest.xmlを中に行方不明になったので、
おかげで、オベ
は、Android開発者で、このコードの更新部分を参照してください。トレーニング/ id-auth/custom_auth.html#TaskFour – Zon