自定义帐户验证器.从设备中删除帐户后清理

Aud*_*ius 18 android accountmanager

有没有办法获得某种通知/广播/等.从"帐户和同步设置"中删除自定义帐户时?

我拥有的应用程序可以为设备上的多个用户提供便利(这是企业用途)并使用单个SQLite数据库.假设我在设备上为我的应用程序创建多个用户,并使用仅与这两个用户相关的数据填充数据库.我的问题是,如果其中一个用户从"帐户和同步设置"中删除,我无法清理SD卡上的数据库和/或某些外部文件.

我可以在冗余表中复制用户信息,并将其与注册帐户进行比较,然后如果表中的用户信息与AccountManager中的Account []数组不匹配,则从数据库中删除用户数据.感觉脏了我.

Jos*_*arl 13

您有两种选择:

  1. 您可以使用在addOnAccountsUpdatedListener方法中AccountManager添加侦听器的onCreate方法ActivityService- 确保在onDestroy方法中删除侦听器(即不要在无休止的运行服务中使用它)或者Context用于检索AccountManager将永远不会被垃圾回收的

  2. AccountsService将广播与动作的通知AccountManager.LOGIN_ACCOUNTS_CHANGED_ACTION每一个帐号被添加,删除或更改时间,你可以添加一个接收器.