Java 在Android中关闭并打开应用程序后停止处理程序
我试图在关闭应用程序后停止处理程序,然后再次打开应用程序,但我不知道如何操作,所以有人能解释一下,在这种情况下我必须做什么? 我有以下方法Java 在Android中关闭并打开应用程序后停止处理程序,java,android,Java,Android,我试图在关闭应用程序后停止处理程序,然后再次打开应用程序,但我不知道如何操作,所以有人能解释一下,在这种情况下我必须做什么? 我有以下方法 private Handler handler = new Handler(); private Timer timer = new Timer(); private TimerTask timerTask; private void openHandler(){ timerTask = new TimerTask() {
private Handler handler = new Handler();
private Timer timer = new Timer();
private TimerTask timerTask;
private void openHandler(){
timerTask = new TimerTask() {
public void run() {
handler.post(myRunnable = new Runnable() {
public void run() {
doSomething();
}
});
}
};
timer.schedule(timerTask, min*60000);
dialog.dismiss();
btnToggleTimer.setClickable(true);
}
我通过切换按钮调用此方法:
btnToggleTimer.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked1) {
btnToggleTimer.setClickable(false)
if(isCheked1){
openHandler();
}
}
});
处理程序将停止,例如5分钟后,但如果我想在这5分钟之前停止,在关闭应用程序并再次打开它之后,我能做些什么?我认为有很多方法可以做到这一点 我想我应该停止活动的
ondestory()
中的计时器(如果我理解正确的话)
处理程序有一个removeCallbacks(Runnable r)
方法,因此您可以执行以下操作:
handler.removeCallbacks(myRunnable);
或者您可以使用cancel()
你好,cYrixmorten,但我认为问题是,当我关闭并打开我的应用程序时,将创建新的计时器、TimerTask和处理程序,并且TimerTask将出现异常。如果它们是在
onCreate
中创建的,那么对象应该在onDestroy
中有效?
timerTask.cancel();