Ich habe meinen AccountManager-Authentifikator, den Dienst und die ganze Sache implementiert, und es scheint alles gut zu funktionieren.
Es gibt jedoch ein kleines Problem: Ich möchte, dass nur ein einziges Konto für meine Anwendung in der Kontoverwaltung existiert, finde aber keine Möglichkeit, dies zu begrenzen.
Ist meine einzige Lösung, eine Suche durchzuführen und die aktuellen Konten (nach Typ) zu löschen, bevor ich das neue Konto hinzufüge?
Mein aktueller Code:
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);
}
}
Ich halte das keineswegs für eine elegante Lösung, aber im Moment scheint es die einzige zu sein, die funktioniert.