android - 带有 BroadCastReceiver 的 AlarmManager : Programed two alarms but received only one

标签 android broadcastreceiver alarmmanager

我有两个闹钟和一个广播接收器:

AlarmManager am2=(AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
Intent intent2 = new Intent(context, MyReceiverAlarm.class);
intent2.putExtra("name", "juan");
PendingIntent pi2 = PendingIntent.getBroadcast(context, 0, intent2, 0);

am2.set(AlarmManager.RTC_WAKEUP,System.currentTimeMillis()+1000, pi2);



AlarmManager am=(AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(context, MyReceiverAlarm.class);
intent.putExtra("name", "jose");
PendingIntent pi = PendingIntent.getBroadcast(context, 0, intent, 0);
am.set(AlarmManager.RTC_WAKEUP,System.currentTimeMillis()+8000, pi);

但是,我总是只收到第一个。我总是得到“juan”并且警报在 8 秒后触发。 我不明白原因...如果我有两个警报,为什么触发一个?

我的广播接收器:

Toast.makeText(context, extras.getString("nombre") + "", Toast.LENGTH_LONG).show();
String name=extras.getString("nombre");
if (extras != null && name.equals("juan") {
    String callForwardString =  PHONE ;
                Intent intentCallForward = new Intent(Intent.ACTION_CALL);

    Uri uri2 = Uri.fromParts("tel", callForwardString, "#");
    intentCallForward.setData(uri2);
    intentCallForward.addFlags(intent.FLAG_ACTIVITY_NEW_TASK);

    context.startActivity(intentCallForward);
} else {
    ...
}

不可能设置两个闹钟吗?

提前致谢

最佳答案

尝试更改请求代码(传递给getBroadcast()的第二个参数:

PendingIntent pi2 = PendingIntent.getBroadcast(context, 2, intent2, 0);
PendingIntent pi = PendingIntent.getBroadcast(context, 1, intent, 0);

关于android - 带有 BroadCastReceiver 的 AlarmManager : Programed two alarms but received only one,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38271405/

相关文章:

android - 在 Android 中 : Can I receive a Broadcast intent from one application into second application

android - LazyColumnFor 的分页

Tab 初始化的 Android 问题

android - 未调用广播接收器

java - AlarmManeger setExact 不起作用

java - 启动一个 radio 应用程序作为我的 Android 闹钟

android - AlarmManager 在超过同一天设置的时间触发警报,setRepeating

java - setTextColor() - 逻辑错误

android - 如何使用 onWindowFocusChanged() 方法?

java - 警报接收器和 Android list