我的活动中有两个 AlarmManager,如下所示,
public class MainActivity extends Activity
{
private AlarmManager alarm1,alarm2;
private Intent intent1,intent2;
private PendingIntent pi1,pi2;
private int HOUR=15,MINUTE=46,SECOND=10;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Calendar calendar = new GregorianCalendar();
calendar.setTimeZone(TimeZone.getDefault());
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.set(Calendar.HOUR_OF_DAY, HOUR );
calendar.set(Calendar.MINUTE, MINUTE );
calendar.set(Calendar.SECOND, SECOND );
intent1 = new Intent ( MainActivity.this, BroadCastAlarm.class );
pi1 = PendingIntent.getService( MainActivity.this, 0, intent1, PendingIntent.FLAG_CANCEL_CURRENT );
alarm1 = (AlarmManager) getSystemService( ALARM_SERVICE );
alarm1.set( AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pi1 );
Calendar calendar1 = new GregorianCalendar();
calendar1.setTimeZone(TimeZone.getDefault());
calendar1.setTimeInMillis(System.currentTimeMillis());
calendar1.set(Calendar.HOUR_OF_DAY, HOUR );
calendar1.set(Calendar.MINUTE, MINUTE );
calendar1.set(Calendar.SECOND, SECOND+30 );
intent2 = new Intent ( MainActivity.this, BroadCastAlarm.class );
pi2 = PendingIntent.getService( MainActivity.this, 1, intent2, PendingIntent.FLAG_CANCEL_CURRENT );
alarm2 = (AlarmManager) getSystemService( ALARM_SERVICE );
alarm2.set( AlarmManager.RTC_WAKEUP, calendar1.getTimeInMillis(), pi2 );
}
}
BroadCastAlarm.java 只是一个显示 Toast 消息的服务。在这里,每当我执行上面的代码时,只会执行第二个警报。为什么第一个警报没有被执行?