我正在尝试在android中使用AlarmManager类,我将重复的时间设置为每10秒一次。现在运行应用程序后,我设置警报后在我的代码中提到的活动会在每10秒后调用一次
但问题是,即使我按下手机的后退按钮(调用onStop方法),应用程序再次调用activity.So,我按下Android工作室的android监视器中的“关闭”按钮,但是每隔10秒就会调用一次活动。
所以,我想知道如何手动关闭此应用程序,为什么会发生这种情况?
这是代码。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
alarmMgr = (AlarmManager)this.getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(this, AlarmReceiver.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
alarmIntent = PendingIntent.getActivity(this, 0, intent,0);
Log.d("asd","initialized alarmintent");
alarmMgr.setRepeating(AlarmManager.RTC_WAKEUP,
SystemClock.elapsedRealtime(),10000, alarmIntent);
Log.d("asd", "alarm set");
}
答案 0 :(得分:1)
您需要在活动的onDestroy()
中取消闹钟。
AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
alarmManager.cancel(<your_pending_intent>);