2016-05-10 10 views
0

Ich versuche, mein Konto eigenen AccountAuthenticator für meine App mit Android AccountManager Klasse zu schreiben. Ich habe eine Schaltfläche "Abmelden", die ein vorhandenes Konto löschen und LoginActivity erneut öffnen soll.Konto in "alten" SDK entfernen

Dazu entferne ich verwenden Methode von AccountManager:

accountManager.removeAccount(account,null,new AccountManagerCallback<Bundle>() { 
    @Override 
    public void run(AccountManagerFuture<Bundle> future) { 
     Bundle bnd = null; 
     try { 
      bnd = future.getResult(); 
      Log.d(TAG, "removing account " + bnd); 

      } catch (Exception e) { 
       e.printStackTrace(); 
       Log.i(TAG, e.getMessage()); 
       } 
     } 
    },null); 

Aber ich erhalte eine Fehlermeldung, die mir sagt, dass diese Methode nur für SDKs funktionieren kann, die später als 22. Mein Miniman SDK-Version eingerichtet ist als 14. Das gleiche bekomme ich für die Methode removeAccountExplicitly(account).

Gibt es eine Möglichkeit, ein Konto in älteren SDKs zu entfernen?

Antwort

1

Eine Möglichkeit wäre, die andere removeAccount Methode in Konto-Managers zu verwenden, die 22 seit api ist veraltet und hat eine Mindest api Stufe 5.

Wenn Sie ändern:

.removeAccount(account,null,new AccountManagerCallback<Bundle>() { 

zu:

.removeAccount(account,new AccountManagerCallback<Boolean>() { 

und ein wenig von Ihrem Code anpassen, könnte es funktionieren.

Obwohl es nicht ratsam ist, empfohlene Methoden zu verwenden (sie sind aus irgendeinem Grund veraltet), kann es eine schnelle Lösung für das sein, was Sie erreichen möchten.

Ich hoffe, es hilft Ihnen.

+0

danke, das hilft – user2957954

Verwandte Themen