2

現在、ユーザーが選択したカレンダーにカレンダー イベントを追加するアプリに取り組んでいます。ユーザーは、自分のアプリまたは別のカレンダー アプリを使用してイベントを編集できます。バックグラウンドで動作し、イベントまたはインスタンスへの変更をリッスンするレシーバーまたはオブザーバーを作成しようとしています。基本的に、イベントまたはイベントのインスタンスがいつ削除されるかをアプリに知らせたいので、特にイベントまたはインスタンスが別のカレンダーアプリから削除されているときに、アプリのデータベース内のデータをクリーンアップできます。インテント フィルターを使用してマニフェスト ファイルにオブザーバーを登録できると考えていました。ブロードキャスト レシーバーを使用して次の例を見つけましたが、ほとんどの場合うまくいくようですが、calendarId、eventId、さらには削除されるイベントの instanceId を取得する方法を知りたいです。何か案は?

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

1 に答える 1

0

残念ながら、コンテンツ オブザーバーでは、何が変更されたかについての詳細はわかりません。取得できる唯一の情報は、変更されたコンテンツ Uri (利用可能な場合) であり、これは API 16 からのみです: onChange(boolean, android.net.Uri)

于 2013-02-14T18:10:01.033 に答える