2014-09-11 80 views
6

我正在尝试使用同步适配器执行周期同步。它可以手动同步,但不会定期。这是我从logcat的执行周期性同步时出错

Could not find class 'android.content.SyncRequest$Builder', referenced from method 
com.example.user.sunshine.sync.SunshineSyncAdapter.configurePeriodicSync 

下面得到的唯一的事情是我的代码:

public static void configurePeriodicSync(Context context, int syncInterval, int flexTime) { 

    Account account = getSyncAccount(context); 
    String authority = context.getString(R.string.content_authority); 
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { 
     SyncRequest request = new SyncRequest.Builder(). 
       syncPeriodic(syncInterval, flexTime). 
       setSyncAdapter(account, authority).build(); 
     ContentResolver.requestSync(request); 
    } else { 
     ContentResolver.addPeriodicSync(account, 
       authority, new Bundle(), syncInterval); 
    } 
} 

有谁知道为什么会这样,我应该如何去有关解决呢?

回答

-1

如果您在未运行KitKat及更高版本的设备上进行测试,则会显示此错误。我敢打赌,它在Kitkat和上面没有问题,因为适当的android类将被编译到apk中。

我建议你不要担心,如果你对下级设备的测试,因为你的代码的这一部分,:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { 
     SyncRequest request = new SyncRequest.Builder(). 
       syncPeriodic(syncInterval, flexTime). 
       setSyncAdapter(account, authority).build(); 
     ContentResolver.requestSync(request); 
    } else { 
     ContentResolver.addPeriodicSync(account, 
       authority, new Bundle(), syncInterval); 
    } 

也可尝试检查导出按钮为Android 4.4 *在建库。