在“旧”sdk中删除帐户

问题描述:

我尝试使用Android的AccountManager类为我的应用编写自己的帐户自己的AccountAuthenticator。我有一个“注销”按钮,应该删除一个现有帐户,并再次打开LoginActivity在“旧”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); 

,但我得到它告诉我,这个方法只能用于那些晚于22我的Miniman SDK版本设置了软件开发工具包功能的错误信息为14.同样的方法removeAccountExplicitly(account)

有没有可能删除旧SDK中的帐户?

一种可能性是使用的AccountManager其他removeAccount方法,因为API 22已被弃用,并具有最低API等级5

如果更改:

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

到:

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

并调整了一下你的代码,它可能会工作。

尽管不建议使用不推荐使用的方法,也不推荐使用不推荐使用的方法(由于某些原因,它们已被弃用),但它可能是您想要实现的功能的快速修复方法。

希望它可以帮助你。

+0

谢谢,这有助于 – user2957954