在 "old" SDK 中删除帐户
remove account in "old" sdk
我尝试使用 Android 的 AccountManager
class 为我的应用程序编写我的帐户自己的 AccountAuthenticator。我有一个 "Log out" 按钮,它应该删除现有帐户并再次打开 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)
相同.
是否可以删除旧版 SDK 中的帐户?
一种可能是在 AccountManager 中使用另一个 removeAccount 方法,该方法自 api 22 起已被弃用,并且具有最低 api 级别 5。
如果你改变:
.removeAccount(account,null,new AccountManagerCallback<Bundle>() {
至:
.removeAccount(account,new AccountManagerCallback<Boolean>() {
对您的代码进行一些调整,它可能会起作用。
虽然不建议也不要使用已弃用的方法(它们出于某种原因已弃用),但它可能是您想要实现的目标的快速修复。
希望对你有帮助。
我尝试使用 Android 的 AccountManager
class 为我的应用程序编写我的帐户自己的 AccountAuthenticator。我有一个 "Log out" 按钮,它应该删除现有帐户并再次打开 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)
相同.
是否可以删除旧版 SDK 中的帐户?
一种可能是在 AccountManager 中使用另一个 removeAccount 方法,该方法自 api 22 起已被弃用,并且具有最低 api 级别 5。
如果你改变:
.removeAccount(account,null,new AccountManagerCallback<Bundle>() {
至:
.removeAccount(account,new AccountManagerCallback<Boolean>() {
对您的代码进行一些调整,它可能会起作用。
虽然不建议也不要使用已弃用的方法(它们出于某种原因已弃用),但它可能是您想要实现的目标的快速修复。
希望对你有帮助。