删除“旧”sdk中的帐户

时间:2016-05-10 08:56:51

标签: android authentication accountmanager

我尝试使用Android的AccountManager课程为我的应用编写帐户自己的AccountAuthenticator。我有一个“退出”按钮,该按钮应删除现有帐户并再次打开LoginActivity

为此,我使用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以后的SDK。我的Miniman SDK版本设置为14.我得到的方法removeAccountExplicitly(account)。< / p>

是否有可能删除较旧SDK中的帐户?

1 个答案:

答案 0 :(得分:1)

一种可能性是在AccountManager中使用另一个removeAccount方法,该方法自api 22以来已弃用,并且具有最小api级别5.

如果你改变:

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

为:

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

并调整一些代码,它可能会有效。

虽然不建议使用弃用的方法(由于某种原因它们已被弃用),但它可能是您想要实现的目标的快速修复。

希望它对你有所帮助。