如何在android中同时触发两个警报

如何在android中同时触发两个警报,android,alarmmanager,android-alarms,Android,Alarmmanager,Android Alarms,我正在创建一个基于提醒的应用程序。当用户在任何时候创建提醒时,它都可以正常工作。但如果他同时创建了两个警报,我不会考虑秒。比如说上午9:30。第二个警报正确触发,但第一个警报在一分钟后出现,即9:31 这就是我创建报警的方式:alarmManager.setRepeatingAlarmManager.RTC_WAKEUP,calendar.getTimeInMillis,60000,contentIntent 这里我给出的重复时间是60000ms,这就是为什么它会在1分钟后出现 但我希望同时触发

我正在创建一个基于提醒的应用程序。当用户在任何时候创建提醒时,它都可以正常工作。但如果他同时创建了两个警报,我不会考虑秒。比如说上午9:30。第二个警报正确触发,但第一个警报在一分钟后出现,即9:31

这就是我创建报警的方式:alarmManager.setRepeatingAlarmManager.RTC_WAKEUP,calendar.getTimeInMillis,60000,contentIntent

这里我给出的重复时间是60000ms,这就是为什么它会在1分钟后出现

但我希望同时触发两个报警。我尝试了AlarmManager类的其余3种方法,但都不起作用。有没有实现这一点的建议

这是我的创建报警方法:

    public void createAlarm(Context context,int id,String title,String date1,String voiceMsgUrl, String description, String owner,String type, String repFrequency)
    {
        eventIntent=new Intent(context, MyReceiver.class);
        eventIntent.putExtra("notifyId", id+"");
        eventIntent.putExtra("title",title);
        eventIntent.putExtra("date", date1);
        eventIntent.putExtra("voiceMsgUrl", voiceMsgUrl);
        eventIntent.putExtra("description", description);
        eventIntent.putExtra("owner", owner);
        eventIntent.putExtra("repFrequency", repFrequency);

        contentIntent=PendingIntent.getBroadcast(context, id, eventIntent, PendingIntent.FLAG_UPDATE_CURRENT);

        calendar=Calendar.getInstance();
        SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        try{

            date=format.parse(date1);
            calendar.setTime(date);

        }catch (ParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        if(calendar.getTimeInMillis()>System.currentTimeMillis()){

            AppzoyDebug.e("creating alarm at time", calendar.getTimeInMillis()+"  lll");
        alarmManager=(AlarmManager)context.getSystemService(Context.ALARM_SERVICE);


   //alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(),3000, contentIntent);


        alarmManager.setExact(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), contentIntent);

        }
    }
我将值传递给该方法,如下所示

alarm.createAlarm(ReminderActivity.this, id, title.getText().toString(), dueDate.getText().toString(), url, description.getText().toString(), ownerNameString, "REM",repFrequency);

使用两种不同的报警管理器。1报警管理器一次设置1个报警。因此,如果您想同时设置多个报警,请为每个报警设置不同的报警管理器。

使用AlarmManager.Appead\u REALTIME\u WAKEUP代替AlarmManager.RTC\u WAKEUP并检查。

您尝试过setExact吗?是的。我尝试过,但根本没有触发第二个报警。您对这两个报警使用不同的请求代码吗?是的,我正在尝试这就是我如何创建PendingIntent contentIntent=PendingIntent.getBroadcastcontext、id、eventIntent、PendingIntent.FLAG_UPDATE_CURRENT@DanielNugent如果请求代码相同且意图足够相似,则警报只会触发一次。但似乎两个警报都被触发了,只是不在同一时间。这真的没有意义。你能发布你认为这将如何工作的代码吗?是的,每个警报都设置了不同的警报管理器,可以正常工作。当同时设置两个报警时。。在这种情况下,唯一的选择就是思考。我认为那是行不通的。这只会使报警计时基于设备上次启动后的时间:尝试使用不同的意图对象和相同alarm Manager对象的不同请求代码