【问题标题】:Trigger Android Calendar to sync after adding events programmatically以编程方式添加事件后触发 Android 日历同步
【发布时间】:2011-08-17 14:35:58
【问题描述】:
我正在使用“未记录”的 API 来读取和写入日历事件,这并不难。但问题是在创建日历事件后,您必须等待轮询周期(我想)让设备同步它的日历,例如使用 gmail,以便事件在线显示。我发现如果您直接将事件添加到日历中,它将立即同步,因此日历应用程序中的某些内容会触发立即同步。
我可以在代码中做些什么来通知设备在完成添加新事件时同步日历?
谢谢。
【问题讨论】:
标签:
android
android-2.2-froyo
android-sdk-2.3
【解决方案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);
}
}