我尝试使用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中的帐户?
答案 0 :(得分:1)
一种可能性是在AccountManager中使用另一个removeAccount方法,该方法自api 22以来已弃用,并且具有最小api级别5.
如果你改变:
.removeAccount(account,null,new AccountManagerCallback<Bundle>() {
为:
.removeAccount(account,new AccountManagerCallback<Boolean>() {
并调整一些代码,它可能会有效。
虽然不建议使用弃用的方法(由于某种原因它们已被弃用),但它可能是您想要实现的目标的快速修复。
希望它对你有所帮助。