收到明确的数据

时间:2013-03-06 06:23:02

标签: android broadcastreceiver

如果用户在全局应用屏幕上执行“Clear Data”,是否可以接收活动?

我在我的应用程序中创建了一个帐户,并将该帐户的名称保存为首选项:

    AccountManager accountManager = AccountManager.get(this.context);

    Account account = new Account("my account name", "com.mchammer.cantouchthis");
    accountManager.addAccountExplicitly(account, "", null);

现在,如果用户清除数据,系统上的帐户(用于同步)也必须删除...

感谢您的帮助

2 个答案:

答案 0 :(得分:2)

你做不到。您的应用在清除数据上获得了FC,因此您无法运行任何代码。

BUT。您可以使用SharedPreferences来存储布尔值,例如isAccountInitialized。 您将其设置为true并在AccountManager逻辑创建帐户后存储。然后,每当您使用该帐户进行同步时(或每次启动您的主要活动,或者您的服务已启动,请执行某些操作 - 您必须根据应用程序的具体情况确定),然后提取{{1} }来自共享首选项,如果它是isAccountInitialized并且您的帐户出现在false中 - 那表示用户已执行明确数据并且是时候从AccountManager中删除该帐户了。如果它是AccountManager并且没有帐户 - 那是第一次启动。

// OFFTOP Nice包名:)

答案 1 :(得分:1)

一旦按下清除数据,就不可能。您的申请流程将被停止。您可以查看this链接以获取答案。