2016-05-25 7 views
0

GoogleカレンダーAPIをREAD_CALENDAR権限で使用して、特定のサッカーゲームをカレンダーから照会し、審判アプリの結果と統合して表示します。現在、ユーザーのカレンダーに新しいゲームを追加すると、しばしば十分ではないカレンダーonConnectedを照会します。GoogleカレンダーからAndroidアプリにプッシュ通知を設定する方法はありますか?

私はデータを表示するたびにカレンダーAPIを再クエリーできますが、新しいイベントが追加されたことを示すカレンダーAPIからのプッシュ通知を待ち受けることを望んでいました。ここのAPI:https://developer.android.com/guide/topics/providers/calendar-provider.htmlには何も言及されていません。

ただし、ここにはhttps://developers.google.com/google-apps/calendar/v3/pushがあなた自身のサーバーへのプッシュ通知について話しています。誰かがアプリから同等のことをする方法を知っていますか?

UPDATEからの回答です。このコードは、特に漏洩しているリソースに関して、妥当性がありますか?

private void updateGamesFromCalendar() { 
    //get Calendar games if allowed 
    if (checkCalendar()) { 
     //Look for events with the keyword list in the Title, and dates between today-7 and today+7 
     long nowMs = System.currentTimeMillis(); 
     String[] eventSelectionArgs = new String[]{Long.toString(nowMs - TimeUnit.DAYS.toMillis(7)),Long.toString(nowMs + TimeUnit.DAYS.toMillis(7)) }; 
     if ((mEventsCursor != null) && (mCalendarObserver != null)) mEventsCursor.unregisterContentObserver(mCalendarObserver); 
     mEventsCursor = getContentResolver().query(RefWatchSettings.uriEvents, RefWatchSettings.EVENT_PROJECTION, RefWatchSettings.whereClauseEvents, eventSelectionArgs, RefWatchSettings.orderByEvents); 
     if (mCalendarObserver == null) mCalendarObserver = new CalendarEventObserver(null); 
     mEventsCursor.registerContentObserver(mCalendarObserver); 

     //delete future Calendar games and replace with the new query 
     Game.removeFutureCalendarGames(mGames); 
     removeFutureCalendarGamesFromDataItem(); 

     getGamesFromCalendar(); 
     refreshGameFragments(); 
     sendFutureGameNotifications(); 
    } 
} 

答えて

1

カレンダーイベントは、クエリで取得されます(Google Doc参照)。クエリはCursorオブジェクトを返します(Cursor JavaDocを参照)。 CursorオブジェクトはregisterContentObserver()で観察できます。 カレンダーイベントのクエリを作成し、コンテンツオブザーバを登録して、カーソルを開きます。コンテンツオブザーバーを通じてイベントの更新を受け取る必要があります。

+0

クイックレスポンスありがとう!私はそれをチェックして行きます。 – Opus1217

+0

ありがとう、これは素晴らしい仕事。私はこれを正しく行こうとしていることを確認したいが、上記の実装に関するコメントは漏れていないだろうか? – Opus1217

関連する問題