2

我正在尝试在我的笔记/待办事项应用程序中使用提醒/警报服务。我可以为特定项目设置提醒,警报触发并成功显示通知。

我的问题是我怎么Service知道哪个笔记/待办事项设置了特定的提醒。我希望用户能够单击状态栏中的通知并让触发它的项目出现。但我无法将该信息传递给 ,Service因为他们不接受Bundles来自PendingIntent.

我目前使用以下设置警报:

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 回答