Android 2 AlarmManager在事件上发生冲突
我有一个活动、一个广播接收器和一个服务 该活动将创建2个报警时钟Android 2 AlarmManager在事件上发生冲突,android,Android,我有一个活动、一个广播接收器和一个服务 该活动将创建2个报警时钟 //Config calendar for StartTime Calendar c = Calendar.getInstance(); c.set(Calendar.YEAR, year); c.set(Calendar.MONTH, month); c.set(Calendar.DAY_OF_MONTH, day); c.set(Calendar
//Config calendar for StartTime
Calendar c = Calendar.getInstance();
c.set(Calendar.YEAR, year);
c.set(Calendar.MONTH, month);
c.set(Calendar.DAY_OF_MONTH, day);
c.set(Calendar.HOUR_OF_DAY, hour);
c.set(Calendar.MINUTE, minute);
c.set(Calendar.SECOND,0);
//Set Alarm for StartTime
Intent alarmI = new Intent(AddRule.this,AlarmReceiver.class);
alarmI.putExtra("Stream", "Start");
pIntent_start = PendingIntent.getBroadcast(this, 0, alarmI, pIntent_start.FLAG_ONE_SHOT);
AlarmManager aM_start = (AlarmManager)getSystemService(ALARM_SERVICE);
aM_start.set(aM_start.RTC, c.getTimeInMillis(), pIntent_start);
//Config calendar for EndTime
Calendar c1 = Calendar.getInstance();
c1.set(Calendar.YEAR, year_end);
c1.set(Calendar.MONTH, month_end);
c1.set(Calendar.DAY_OF_MONTH, day_end);
c1.set(Calendar.HOUR_OF_DAY, hour_end);
c1.set(Calendar.MINUTE, minute_end);
c1.set(Calendar.SECOND,0);
//Set Alarm for StartTime
Intent alarmII = new Intent(AddRule.this,AlarmReceiver.class);
alarmII.putExtra("Stream", "End");
pIntent_end = PendingIntent.getBroadcast(this, 1, alarmII, pIntent_end.FLAG_ONE_SHOT);
AlarmManager aM_end = (AlarmManager)getSystemService(ALARM_SERVICE);
aM_end.set(aM_end.RTC, c1.getTimeInMillis(), pIntent_end);
1个alarmclock应表示事件开始,1个alarmclock表示事件结束
broadcastreceiver的唯一操作是将意图发送到服务
在我的服务课上,我看一下额外的目的是开始还是结束,然后决定做什么
if(intent.getStringExtra("Stream").equalsIgnoreCase("Start"))
{
//do something
}
else if (intent.getStringExtra("Stream").equalsIgnoreCase("End"));
{
//do something
}
我发现的问题是,当到达时间并且服务被激活时,启动和结束信号都被触发,因此启动时应该发生的动作只有很短的时间,直到结束信号被触发。
在应触发信号的结束时间,应用程序因一次触发而崩溃。
我已经检查了时间和所有的东西,但没关系:/我不觉得有问题,有人能帮我吗
对不起,我说的是英语
莫里茨