scheduler = Executors.newSingleThreadScheduledExecutor();
scheduler.scheduleAtFixedRate(new Runnable() {
public void run() {
//get date
Date dateTime = new Date();
}, 0, 30L, TimeUnit.SECONDS); //End of Scheduler
我已创建此调度程序,并且每30秒更新一次。现在我在菜单中创建了两个选项来关闭调度程序。一个在注销选项和其他选项中关闭下一个活动中的调度程序:
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
switch (item.getItemId()) {
case 1:
// stop the scheduler
scheduler.shutdown();
// redirect to login page
Intent intent = new Intent(this, LoginPage.class);
this.startActivity(intent);
break;
case 2:
Intent i = new Intent(this, Location.class);
this.startActivity(i);
break;
default:
return super.onOptionsItemSelected(item);
}
return true;
}
在位置课程中:
public void onToggleClicked(View view) {
//assign Toggle button status
boolean on = ((ToggleButton) view).isChecked();
if (on == true ) {
//shutdown the scheduler
scheduler.shutdown();
}
问题是调度程序在Location类中没有关闭。我想在取消选中按钮时停止调度程序,并且需要再次重新启动调度程序。这可能吗?
答案 0 :(得分:0)
var vInput = "Project";
var anchors = $("a").filter(function() {
return $(this).text().trim() == vInput;
});
alert(anchors.length);
不允许提交新任务,但排队的任务将全部执行。您可以尝试shutDown
尝试停止所有正在执行的任务。您可以找到文档here