3

我正在使用“未记录”的 API 来读取和写入日历事件,这并不难。但问题是在创建日历事件后,您必须等待轮询周期(我想)让设备同步它的日历,例如使用 gmail,以便事件在线显示。我发现如果您直接将事件添加到日历中,它将立即同步,因此日历应用程序中的某些内容会触发立即同步。

我可以在代码中做些什么来通知设备在完成添加新事件时同步日历?

谢谢你。

4

2 回答 2

2

ContentResolver 类有各种帮助方法来处理同步。尝试ContentResolver.requestSync()方法。

于 2011-08-17T14:42:59.613 回答
2
public void syncCalendars()
    {
        Account[] accounts = AccountManager.get(context).getAccounts();
        Log.d(TAG, "Refreshing " + accounts.length + " accounts");
        String authority = CalendarContract.Calendars.CONTENT_URI.getAuthority();
        for (int i = 0; i < accounts.length; i++) {

            Log.d(TAG, "Refreshing calendars for: " + accounts[i]);

            Bundle extras = new Bundle();
            extras.putBoolean(ContentResolver.SYNC_EXTRAS_MANUAL, true);
            ContentResolver.requestSync(accounts[i], authority, extras);
        }
    }
于 2016-08-08T16:10:57.873 回答