2016-10-31 6 views
0

私はインテントでカレンダーイベントを作成しています。ここに私のコードは次のとおりです。ボタンのonClickの()にインテントでカレンダーイベントを作成したときの確認方法を教えてください。

 Intent intent = new Intent(Intent.ACTION_INSERT) 
      .setData(CalendarContract.Events.CONTENT_URI) 
      .putExtra(CalendarContract.Events.TITLE, "Calendar event") 
      .putExtra(CalendarContract.Events.DESCRIPTION, " This is a calendar event " + activity().getCallHistoryItem().getCaller()) 
      .putExtra(CalendarContract.Events.EVENT_LOCATION, "Location") 
      .putExtra(Intent.EXTRA_PHONE_NUMBER, activity().getCallHistoryItem().getCaller()); 
    startActivity(intent); 
} 

、この意図が起動し、期待通りのカレンダーアプリが起動します。私の質問は、ユーザーがイベントを作成したことを確認する方法はありますか?前もって感謝します。

答えて

1

次のインテントフィルタとBroadcastReceiverを作成することによって、デフォルトのAndroidカレンダーから変更イベントを受け取るためにBroadcastReceiverを使用することができます。何も情報がこの受信機と一緒に渡されないことを

<receiver 
    android:name=".NativeEventChangeReceiver"> 
     <intent-filter> 
      <action android:name="android.intent.action.PROVIDER_CHANGED"/> 
      <data android:scheme="content"/> 
      <data android:host="com.android.calendar"/> 
     </intent-filter> 
</receiver> 

注 - あなたが必要となりますカレンダーAPIを受信したときにカレンダーAPIに照会して変更内容を検索します。時間がかかる操作を行っている場合は、より長い実行プロセス(onReceive() documentationに従ってBroadcastReceiversが10秒以内に完了する必要があるため)をWakefulBroadcastReceiverIntentServiceとすることを検討することをお勧めします。

関連する問題