SyncAdapter始终在Android 6上待定

时间:2016-11-18 07:51:00

标签: android android-syncadapter

我通过Google示例编写了自定义SyncAdapterSyncStatusObserver,它在旧设备上运行良好。但是在Android 6上它始终处于待定状态。 我在调试模式下检查了我的适配器完成了一项工作,并且一个处于活动状态的观察者是false但是待处理状态true都是相同的。

它是同步状态观察器中的代码:

Account account = getAccount();

if (account == null) {
    return;
}

boolean syncActive = ContentResolver.isSyncActive(account, SyncService.CONTENT_AUTHORITY);
boolean syncPending = ContentResolver.isSyncPending(account, SyncService.CONTENT_AUTHORITY);
final boolean isLoading = syncActive || syncPending;

我在

中调用此代码
private SyncStatusObserver mStatusObserver = new SyncStatusObserver() {

   @Override
   public void onStatusChanged(final int which) {
        getActivity().runOnUiThread(new Runnable() {

            @Override
            public void run() {
                onSyncStatusChanged(which);
            }
        });
    }
};

要请求同步,我打电话:

public static void refresh(Account account, Bundle extras) {
    extras.putBoolean(ContentResolver.SYNC_EXTRAS_MANUAL, true);
    extras.putBoolean(ContentResolver.SYNC_EXTRAS_EXPEDITED, true);
    ContentResolver.requestSync(account, SyncService.CONTENT_AUTHORITY, extras);
}

有人有任何想法,为什么它不能在Android 6上运行?我会很高兴任何合乎逻辑的建议,因为我真的无法理解。

P.S。 Account我查了并不是。

0 个答案:

没有答案