gpt4 book ai didi

android - 清除帐户删除数据

转载 作者:可可西里 更新时间:2023-11-01 19:04:43 24 4
gpt4 key购买 nike

当用户从设置应用的帐户和同步部分手动删除帐户时,我想清除应用程序的数据。

我有自己的 AbstractAccountAuthenticator 实现,但是没有 Hook 删除帐户过程的方法。有什么提示吗?

最佳答案

我一直在思考同样的问题,这是我决定的“解决方案”。这不是我所说的“正确”解决方案,但我认为这是您可以使用当前 API 管理的最佳解决方案。

在我对 AbstractAccountAuthenticator 类的实现中,我重写了 getAccountRemovalAllowed 函数,如下所示:

@Override
public Bundle getAccountRemovalAllowed(
AccountAuthenticatorResponse response, Account account)
throws NetworkErrorException {
Bundle result = super.getAccountRemovalAllowed(response, account);

if (result != null && result.containsKey(AccountManager.KEY_BOOLEAN_RESULT)
&& !result.containsKey(AccountManager.KEY_INTENT)) {
final boolean removalAllowed = result.getBoolean(AccountManager.KEY_BOOLEAN_RESULT);

if (removalAllowed) {
// Do my removal stuff here
}
}

return result;
}

在您从 getAccountRemovalAllowed 返回后,删除失败的可能性很小,但可以忽略不计(恕我直言)。

正如 MisterSquonk 所建议的那样,您可以监听一个 Intent (ACCOUNTS_CHANGED_INTENT),但不幸的是,它会在帐户更改时广播,而不仅仅是在帐户被更改时广播已删除

我不明白为什么这不是 SDK 的一部分,但也许我们都错过了一些明显的东西!目前,我坚持使用这种方法,因为我需要在删除帐户时删除我自己的一些数据库表。

希望对您有所帮助。

关于android - 清除帐户删除数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5748295/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com