2

note/todo アプリで機能するリマインダー/アラーム サービスを取得しようとしています。特定のアイテムのリマインダーを設定でき、アラームがトリガーされ、通知が正常に表示されます。

私の問題は、どのServiceメモ/todo アイテムがその特定のリマインダーを設定したかをどのように知ることができるかということです。ユーザーがステータスバーの通知をクリックして、それをトリガーするアイテムを表示できるようにしたいと思います。しかし、彼らはからService受け入れないので、その情報を に渡す方法がありません。BundlesPendingIntent

現在、次のアラームを設定しています。

private void createAlarm() {
     Intent i = new Intent(this, AlarmService.class);
     PendingIntent sender = PendingIntent.getService(this, 0, i, 0);
     AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
     am.set(AlarmManager.RTC_WAKEUP, mReminderCal.getTimeInMillis(), sender);
}

通知がクリックされたときに_idサービスが同じアイテムを起動できるように、データベース内のアイテムを送信する方法が必要です。_id

私の質問があまり混乱しないことを願っています。

ありがとう!

4

1 に答える 1

1

必要なものをすべて Intent データに入れてみませんか? このようなもの:

    final Intent intent = new Intent(context, UpdatesActivity.class);
    intent.putExtra(ID, "foo");
    final PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);

次に、受信側で行います

    String id = getIntent().getStringExtra(ID);
于 2011-02-03T16:06:10.597 に答える