同じカスタム アカウント タイプを使用する 2 つのアプリがあります。これら 2 つのアプリは完全に独立しており、アカウントを共有するだけです。それらのいずれかが起動すると、既存のカスタム アカウントがチェックされ、アカウントが見つからない場合はサインイン ページが表示されます。
AccountAuthenticator
そのため、ライブラリ プロジェクトとして作成し、両方のアプリで参照しています。このチュートリアルによると:
オーセンティケーターのコードを 2 つのアプリにコピーして、そのロジックを共有し、各アプリのサインイン ページのデザインをアプリが属するアプリに合わせて変更したとします。その場合、認証トークンが要求されると、最初にインストールされたアプリのオーセンティケーターが両方のアプリに対して呼び出されます。最初のアプリをアンインストールすると、2 番目のアプリのオーセンティケーターが呼び出されます (現在は 1 つしかないため)。
アプリの 1 つ (どのアプリでも) を実行して呼び出すaddAccount
と、サインイン ページがよく表示されます。次に、2 番目のアプリを実行して呼び出すと、addAccount
何も起こらず、サインイン ページが表示されません。最初のアプリをアンインストールした後、2 番目のアプリは正常に動作し、サインイン ページが表示されます。では、何が問題で、どうすれば修正できますか?
の実装addAccount
:
mAccountManager.addAccount(accountType, authTokenType, null, null, this, new AccountManagerCallback<Bundle>() {
@Override
public void run(AccountManagerFuture<Bundle> future) {
try {
Bundle bnd = future.getResult();
showMessage("Account was created");
} catch (Exception e) {
e.printStackTrace();
showMessage(e.getMessage());
}
}
}, null);
前もって感謝します