Android同步适配器每10分钟触发一次

Android同步适配器每10分钟触发一次,android,android-syncadapter,Android,Android Syncadapter,我想使用同步适配器每天调用一次方法。由于我不需要内容提供程序,所以我定义了一个虚拟提供程序,以使同步适配器工作。问题是同步大约每10分钟触发一次,不管我设置了什么时间,而且在某些设备上从不触发。如何使其在所有设备上准确工作 final Account account = new Account(username, "com.example.shop"); Bundle userData = new Bundle(); accountManager.addAccountExplicitly(acc

我想使用同步适配器每天调用一次方法。由于我不需要
内容提供程序
,所以我定义了一个虚拟提供程序,以使同步适配器工作。问题是同步大约每10分钟触发一次,不管我设置了什么时间,而且在某些设备上从不触发。如何使其在所有设备上准确工作

final Account account = new Account(username, "com.example.shop");
Bundle userData = new Bundle();
accountManager.addAccountExplicitly(account, "", userData);
// initial sync adapter
String AUTHORITY = "com.example.shop.syncAdapter.DummyProvider";
ContentResolver.setIsSyncable(account, AUTHORITY, 1);
ContentResolver.setSyncAutomatically(account, AUTHORITY, true);
ContentResolver.addPeriodicSync(account, AUTHORITY, Bundle.EMPTY, 86400);
同步适配器:

@Override
public void onPerformSync(Account account, Bundle extras, String authority,
                          ContentProviderClient provider, SyncResult syncResult) {
    Log.e("sync", "sync successful");
}

如果这对您来说很紧急,可能需要一个解决方案

如果您的帐户也只是一个虚拟帐户(看起来如此),那么您可以使用同步适配器模式来代替。这样就不需要虚拟内容提供者等等。然后,您可以在AlarmManager上设置-何时调用消息或其他内容


请注意,如果您使用AlarmManager,您没有同步android系统功能。

如果您有急事,可能是一种解决办法:

如果您的帐户也只是一个虚拟帐户(看起来如此),那么您可以使用同步适配器模式来代替。这样就不需要虚拟内容提供者等等。然后,您可以在AlarmManager上设置-何时调用消息或其他内容

请注意,如果使用AlarmManager,则没有同步android系统功能