有没有办法获得某种通知/广播/等。当自定义帐户从“帐户和同步设置”中删除时?
我拥有的应用程序可以方便设备上的多个用户(这是供公司使用的)并使用单个 SQLite 数据库。假设我在设备上为我的应用程序创建了多个用户,并使用仅与这两个用户相关的数据填充数据库。我的问题是,如果其中一位用户从“帐户和同步设置”中删除,我将无法清理数据库和/或 SD 卡上的一些外部文件。
我可以在冗余表中复制用户信息并将其与注册帐户进行比较,然后如果表中的用户信息与 AccountManager 中的 Account[] 数组不匹配,则从数据库中删除用户数据。我觉得很脏。
最佳答案
你有两个选择:
您可以使用
<a href="http://developer.android.com/reference/android/accounts/AccountManager.html#addOnAccountsUpdatedListener%28android.accounts.OnAccountsUpdateListener,%20android.os.Handler,%20boolean%29" rel="noreferrer noopener nofollow">addOnAccountsUpdatedListener</a>
AccountManager
的方法|在onCreate
中添加监听器Activity
的方法或Service
-- 确保删除onDestroy
中的监听器方法(即不要在无休止运行的服务中使用它)或Context
用于检索AccountManager
永远不会被垃圾回收AccountsService
将通过操作<a href="http://developer.android.com/reference/android/accounts/AccountManager.html#LOGIN_ACCOUNTS_CHANGED_ACTION" rel="noreferrer noopener nofollow">AccountManager.LOGIN_ACCOUNTS_CHANGED_ACTION</a>
广播 Intent 每次添加、删除或更改帐户时,您都可以为其添加接收者。
关于android - 自定义帐户身份验证器。从设备中删除帐户后的清理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6074247/