0

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

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

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

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

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

感谢您的帮助

4

2 回答 2

2

你不能。您的应用程序在清除数据上获得了 FCed,因此您无法运行任何代码。

但。您可以使用SharedPreferences来存储布尔首选项,例如isAccountInitialized. 在您的逻辑完成创建帐户后,您将其设置为true并存储。AccountManager然后,每次您使用该帐户进行同步时(或每次启动主要活动,或您的服务启动时做一些事情 - 这您必须根据您的应用程序细节来确定)您isAccountInitialized从共享首选项和如果是false并且您的帐户存在AccountManager- 这就是您的用户已执行清除数据的标志,是时候从AccountManager. 如果是false并且没有帐户 - 那是第一次启动。

// OFFTOP 不错的包名 :)

于 2013-03-06T07:08:25.643 回答
1

这是不可能的只要你按下清除数据。您的申请程序将停止。您可以查看链接以获取答案。

于 2013-03-06T06:30:32.753 回答