【发布时间】:2010-01-14 06:30:27
【问题描述】:
我有一个应用程序,它使用 AlarmManager 设置警报,当它关闭时会启动另一个 Activity。当指定时间到来时,AlarmManager 接受一个 PendingIntent 并产生一个 BroadcastReceiver 类。我想知道是否有任何方法可以通过进入 PendingIntent 的 Intent 对象将参数传递给此 BroadcastReceiver?
基本上我想做的是这样的:
Intent my_intent = new Intent(this, BroadcastService.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, my_intent, 0);
my_intent.putExtra("arg1", arg1);
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + (1000), pendingIntent);
我希望能够在 BroadcastReceiver 的 onReceive(Context, Intent) 方法中检索 arg1。我认为局部变量 my_intent 将是 PendingIntent 传递给 onReceive 的第二个参数,但显然这不太正确。是否可以以这种方式(使用 Intent.putExtra())在 Activity 和 BroadcastReceiver 之间传递参数,还是应该改用 ContentProvider?
谢谢!
伊娃
【问题讨论】:
标签: android