@SuppressLint("HandlerLeak")
private void setAlarm() {
interval = mPreferences.getInt(
ServerMonitorPlus.REQUEST_STATUS_INTERVAL_DATA, 300);
mCalendar = Calendar.getInstance();
mCalendar.setTimeInMillis(System.currentTimeMillis());
mCalendar.add(Calendar.MINUTE, interval);
mIntent = new Intent("com.receiver");
mPendingIntent = PendingIntent.getBroadcast(this, 0, mIntent, PendingIntent.FLAG_UPDATE_CURRENT);
mAlarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
mAlarmManager.set(AlarmManager.RTC_WAKEUP, mCalendar.getTimeInMillis(),
mPendingIntent);
}
我每隔一分钟自动设置闹钟启动。
@Override
public void onDestroy() {
super.onDestroy();
mAlarmManager.cancel(mPendingIntent);
destoryTimerTask();
}
致电stopservice()
时取消。
@Override
public void onCreate() {
super.onCreate();
setAlarm();
}
问题:
当我调用方法stopservice()
时,在interval
分钟开始后,您不会取消它mAlarmManager.cancel(mPendingIntent)
?