om2*_*345 6 android broadcastreceiver alarmmanager android-intent
我正在广播将由广播接收器接收的意图,因为应用程序仍在运行并且警报服务触发新意图但接收器正在显示先前的意图值.根据docs广播接收器在返回onReceive()后不再有效,因此接收器应该显示由警报服务触发的下一个意图值,但是没有发生,任何人都可以告诉正确的方法.
这是从活动到广播意图:
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);
Run Code Online (Sandbox Code Playgroud)
这是广角接收者:
@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();
}
Run Code Online (Sandbox Code Playgroud)
这里的吐司显示即使从警报服务发出第二次意图时第一次通过警报服务发送的id(第二次警报响起)
| 归档时间: |
|
| 查看次数: |
2908 次 |
| 最近记录: |