Android 以初始值启动服务
我正在尝试在我的便笺/待办事项应用程序中使用提醒/警报服务。我能够为特定项目设置提醒,并且警报会触发并成功显示通知 我的问题是我的Android 以初始值启动服务,android,service,alarmmanager,android-pendingintent,Android,Service,Alarmmanager,Android Pendingintent,我正在尝试在我的便笺/待办事项应用程序中使用提醒/警报服务。我能够为特定项目设置提醒,并且警报会触发并成功显示通知 我的问题是我的服务如何知道哪个备忘/待办事项设置了特定的提醒。我希望用户能够点击状态栏中的通知,并让触发它的项目出现。但是我无法将该信息传递给服务,因为他们不接受挂起内容中的捆绑包 我当前设置了以下报警: private void createAlarm() { Intent i = new Intent(this, AlarmService.class); P
服务如何知道哪个备忘/待办事项设置了特定的提醒。我希望用户能够点击状态栏中的通知,并让触发它的项目出现。但是我无法将该信息传递给服务
,因为他们不接受挂起内容中的捆绑包
我当前设置了以下报警:
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);
}
我只需要一种方法来发送数据库中项目的\u id
,以便我的服务可以在单击通知时使用相同的\u id
启动项目
我希望我的问题不要太令人困惑
谢谢 为什么不将所有需要都放在意向数据中?大概是这样的:
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);
但是这对服务有效吗?注意,我使用的是pendingent.getService()
。当我尝试在我的服务中从onCreate()
调用getIntent()
时,其未定义:(哦,snap,@droidn.net!!你让我想到了…首先我用一个活动尝试了它,提醒/通知是有效的,但是出现了一个空白的活动。然后我用一个广播接收器尝试了它,我想我得到了我想要的工作方式!非常感谢你让我在Se之外思考服务
方法。绝对是广播接收器,永远不需要空白活动:)很乐意帮助