Android 多个警报无法正常工作

Android 多个警报无法正常工作,android,android-alarms,Android,Android Alarms,下面是我在代码中尝试的内容。多个警报无法正常工作 AlarmManager alarmManager = ((AlarmManager) getSystemService(Context.ALARM_SERVICE)); int time1 = Integer.parseInt(e.getText().toString()); time1 = time1 * 1000; final int id = (int) System.currentTimeMillis()

下面是我在代码中尝试的内容。多个警报无法正常工作

    AlarmManager alarmManager = ((AlarmManager) getSystemService(Context.ALARM_SERVICE));
    int time1 = Integer.parseInt(e.getText().toString());
    time1 = time1 * 1000;
    final int id = (int) System.currentTimeMillis();
    Intent intentAlarm = new Intent(this, AlarmReceiver.class);
    PendingIntent pendingIntent = PendingIntent.getBroadcast(this, id, intentAlarm, PendingIntent.FLAG_UPDATE_CURRENT);
    long r4 = time1 + System.currentTimeMillis();
    alarmManager.set(AlarmManager.RTC_WAKEUP, r4, pendingIntent);
任何人都知道出了什么问题,
感谢您的帮助:

您如何分配时间来触发alarmManager.setAlarmManager.RTC_WAKEUP,r4,PendingEvent;这是错误的

需要在日历中设置从用户处获得的时间(以秒为单位),然后在alarmManager.set中分配该时间

你的代码应该是

AlarmManager alarmManager;
alarmManager=( (AlarmManager)getSystemService(Context.ALARM_SERVICE));

int time1 = Integer.parseInt(e.getText().toString());

Calendar cal = Calendar.getInstance();
cal.set(Calendar.SECOND, time1);

final int _id = (int) System.currentTimeMillis();
Intent intentAlarm = new Intent(this, AlarmReceiver.class);
PendingIntent pendingIntent=PendingIntent.getBroadcast(this,_id , intentAlarm, PendingIntent.FLAG_UPDATE_CURRENT);

alarmManager.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), pendingIntent);

到底是什么不起作用?重新格式化你的代码片段,这真的很难阅读。对不起。有了这段代码,警报会立即触发,有人会帮我。我不熟悉堆栈溢出。对不起,如果我的代码格式不正确。请您再次解释,您的问题是什么,多个警报不工作或警报立即触发。还要解释如何确定这一点,您是否在某处有日志输出?同时显示一些相关的广播接收器代码/manifest.ohhh谢谢apurva。但是我以前的代码正在工作。非常感谢您的回复:Apurva和ci_uu非常感谢你们让我度过了美好的一天哦,我是stack overflow thanx Apurva的新手。你能回答我的另一个问题吗?
AlarmManager alarmManager;
alarmManager=( (AlarmManager)getSystemService(Context.ALARM_SERVICE));

int time1 = Integer.parseInt(e.getText().toString());

Calendar cal = Calendar.getInstance();
cal.set(Calendar.SECOND, time1);

final int _id = (int) System.currentTimeMillis();
Intent intentAlarm = new Intent(this, AlarmReceiver.class);
PendingIntent pendingIntent=PendingIntent.getBroadcast(this,_id , intentAlarm, PendingIntent.FLAG_UPDATE_CURRENT);

alarmManager.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), pendingIntent);