2016-05-10 2 views
0

Я пытаюсь написать собственный аккаунт AccountAuthenticator для своего приложения, используя класс Android AccountManager. У меня есть кнопка «Выход», которая должна удалить существующую учетную запись и снова открыть LoginActivity.удалить учетную запись в «old» sdk

Для этого я использую метод удаления 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); 

Но я получаю сообщение об ошибке, которое говорит мне, что этот метод может функционировать только для SDKs, которые позже, чем 22. Моего Miniman SDK версии устанавливаются как 14. То же самое я получаю для метода removeAccountExplicitly(account).

Есть ли возможность удалить учетную запись в старых SDK?

ответ

1

Одним из возможных вариантов было бы использовать другой метод removeAccount в AccountManager, который устарел, так как апи 22 и имеет минимальный уровень апи 5.

Если вы меняете:

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

к:

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

и адаптировать немного вашего кода, он может работать.

Несмотря на то, что не рекомендуется использовать устаревшие методы (они почему-то не рекомендуются), это может быть быстрым решением для того, чего вы хотите достичь.

Надеюсь, это поможет вам.

+0

спасибо, что помогает – user2957954

 Смежные вопросы

  • Нет связанных вопросов^_^