【问题标题】: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


【解决方案1】:

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

【讨论】:

    【解决方案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);
            }
        }
    

    【讨论】:

      猜你喜欢
      • 2012-02-13
      • 1970-01-01
      • 2017-09-25
      • 1970-01-01
      • 1970-01-01
      • 2014-03-16
      • 1970-01-01
      • 2011-12-02
      • 2010-09-19
      相关资源
      最近更新 更多