Can I add more than one period to perform a sync in Android syncAdapter? -
i'm implementing syncadapter
, need synchronize few times in day need onperformsync
trigger synchronization @ midnight.
contentresolver.setissyncable(account, uribuilder.authority, 1); bundle extras = new bundle(); extras.putboolean(contentresolver.sync_extras_expedited, false); extras.putboolean(contentresolver.sync_extras_do_not_retry, false); extras.putboolean(contentresolver.sync_extras_manual, false); contentresolver.addperiodicsync(account, uribuilder.authority, extras, 15000); contentresolver.setsyncautomatically(account, uribuilder.authority, true); contentresolver.requestsync(account, uribuilder.authority, extras);
yes can. using gcm; once server data changed server send push notification of has been changed. or can use alarmmanager;
intent intent = new intent(context, myboradcastreciever.class); pendingintent sender = pendingintent.getbroadcast(context, uid, intent, pendingintent.flag_update_current); alarmmanager = (alarmmanager) context .getsystemservice(activity.alarm_service); am.set(alarmmanager.rtc_wakeup, time, sender);
in broadcastreceiver
new broadcastreceiver() { @override public void onreceive(context context, intent intent) { triggerrefresh(); } };
public static void triggerrefresh() { bundle b = new bundle(); // disable sync backoff , ignore sync preferences. in other // words...perform sync now! b.putboolean(contentresolver.sync_extras_manual, true); b.putboolean(contentresolver.sync_extras_expedited, true); contentresolver.requestsync(lntaccountservice.getaccount(), // sync // account content_authority, // content authority b); // extras }
Comments
Post a Comment