私は自分の AccountManager オーセンティケーターとサービス、そして取引全体を実装しましたが、すべてうまくいっているようです。
ただし、小さな問題が 1 つあります。アカウント マネージャーに自分のアプリ用のアカウントを 1 つだけ存在させたいのですが、これを制限する方法を見つけることができないようです。
新しいアカウントを追加する前に、現在のアカウントを検索して削除する唯一の解決策はありますか?
私の現在のコード:
private void removeAccounts()
{
Account [] accounts = mAcctMgr.getAccountsByType (mAccountType);
if (accounts.length == 0) return;
final Handler handler = new Handler ();
AccountManagerCallback<Boolean> callback = new AccountManagerCallback<Boolean>()
{
@Override
public void run(AccountManagerFuture<Boolean> arg0)
{
// nada
}
};
for (Account a : accounts) {
mAcctMgr.removeAccount (a, callback, handler);
}
}
私は決してこれをエレガントなソリューションとは呼びませんが、現時点では機能する唯一のもののようです。