通过AccountManager更改帐户是否会调用要重新创建的服务?

时间:2017-04-06 09:12:09

标签: android android-service android-syncadapter

我有一个带有相应SyncAdapter的服务。此外,我通过AccountManager管理帐户数据,例如以下方式:

    AccountManager accountManager = (AccountManager) mContext.getSystemService(ACCOUNT_SERVICE);
    Account[] accounts = accountManager.getAccountsByType(Constants.ACCOUNT_TYPE);
    Account account;
    if (accounts.length != 0) {
        account = new Account(Constants.ACCOUNT_NAME, Constants.ACCOUNT_TYPE);
        accountManager.setPassword(account, null);
    }

如果我从SyncAdapter的onPerform中调用此方法,则服务进入创建,绑定和销毁循环。我检查日志(通过将logcat过滤器设置为"没有过滤器"),我看到来自SyncManager的日志说: SyncManager: account change detect - update database。在此之后,服务被销毁,创建和绑定。 SyncAdapter的onPerform再次运行,对帐户执行相同的更改等。:loop。

我的问题是:帐户更改会导致服务和相应的SyncAdapter重新创建吗?

0 个答案:

没有答案