暂停计时器,然后继续
请参阅@Yuri从这里发布的代码。如何在一定次数后停止计时器。如果由于某些情况而想要停止它,然后再次重新启动它。我该怎么做?
    private final static int DELAY = 10000;
    private final Handler handler = new Handler();
    private final Timer timer = new Timer();
    private final TimerTask task = new TimerTask() {
        private int counter = 0;
        public void run() {
            handler.post(new Runnable() {
                public void run() {
                    Toast.makeText(MainActivity.this, "test", Toast.LENGTH_SHORT).show();
                }
            });
            if(++counter == 4) {
                timer.cancel();
            }
    //do some stuff in my app
   //restart the timer again
        }
    };
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        timer.schedule(task, DELAY, DELAY);
    }
这是我尝试过的,但它一直在我身上崩溃。
    final int DELAY = 10000;
        Timer timer;
        MyTask task;
        startManager Scanner;
        Handler handler;
        public class MyTask extends TimerTask {
            @Override
            public void run() {
                handler.post(new Runnable() {
                    public void run() {
                        //do Stuff here
                        }
        });
    }
        public class startManager {
            public startManager() {
                handler = new Handler();
                timer = new Timer();
            }
            public void start() {
                timer.schedule(task, 0, DELAY);
            }
            public void cancel() {
                timer.cancel();
                timer.purge();
            }
        }
    }
 @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
Scanner = new startManager();
//do some stuff
 if (...)
Scanner.cancel()
//restart the timer and its task
Scanner=new startManager();
        }