Android 向广播接收器发送新意图时,会给出先前意图的额外值
我正在广播一个意图,该意图将由广播接收器接收,因为应用程序仍在运行,报警服务会触发新的意图,但接收器显示以前的意图值。根据文档,广播接收器在返回onReceive()后不再处于活动状态,因此接收器应该显示报警服务触发的下一个意图值,但它没有发生,任何人都可以告诉正确的方法 这是从活动到广播的目的:Android 向广播接收器发送新意图时,会给出先前意图的额外值,android,broadcastreceiver,android-intent,alarmmanager,Android,Broadcastreceiver,Android Intent,Alarmmanager,我正在广播一个意图,该意图将由广播接收器接收,因为应用程序仍在运行,报警服务会触发新的意图,但接收器显示以前的意图值。根据文档,广播接收器在返回onReceive()后不再处于活动状态,因此接收器应该显示报警服务触发的下一个意图值,但它没有发生,任何人都可以告诉正确的方法 这是从活动到广播的目的: Intent intent = new Intent(SCH_ALARM_ACTION); intent.setClass(getBaseContext(), SchAlarmRecieve
Intent intent = new Intent(SCH_ALARM_ACTION);
intent.setClass(getBaseContext(), SchAlarmReciever.class);
intent.putExtra("id", maxId);
PendingIntent pi = PendingIntent.getBroadcast(getBaseContext(),
0,
intent,
0);
alarmManager.set(AlarmManager.RTC, gc.getTimeInMillis(), pi);
这是broadreceiver:
@Override
public void onReceive(Context context, Intent data)
{
// TODO Auto-generated method stub
if(data.getAction().equals(SchedulerActivity.SCH_ALARM_ACTION)){
int id = data.getIntExtra("id",0);
Toast.makeText(context, "in receiver "+String.valueOf(id), Toast.LENGTH_LONG).show();
}
在这里,toast显示由alarmservice第一次广播发送的id,即使alarmservice触发了第二次意图(第二次警报熄灭)得到答案,在设置alarmservice的挂起意图时,必须将标志PendingEvent.flag\u CANCEL\u设置为当前状态…我正在做类似的事情!!!