调度程序执行程序服务尚未停止

时间:2015-05-07 07:53:52

标签: android

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类中没有关闭。我想在取消选中按钮时停止调度程序,并且需要再次重新启动调度程序。这可能吗?

1 个答案:

答案 0 :(得分:0)

var vInput = "Project"; var anchors = $("a").filter(function() { return $(this).text().trim() == vInput; }); alert(anchors.length); 不允许提交新任务,但排队的任务将全部执行。您可以尝试shutDown尝试停止所有正在执行的任务。您可以找到文档here