定时器开关android TimerTask

Timer switch android TimerTask

b= new TimerTask()
{
    @Override
    public void run() 
    {
        out_string = hi.getWebPage("http://daniandroid.honor.es/getAllCustomers.php"); 
        frum_timer = Integer.parseInt(out_string.replaceAll("[\D]",""));
    };
}; 
t.scheduleAtFixedRate(b, 500, 1000);

1000 ms, 运行() 将值存储到int frum_timer

我将其用于手电筒应用程序。 当我打开应用程序时,我希望我的应用程序使用 frum_timer 打开和关闭手电筒 间隔时间

所以如果

frum_timer = 1000;

我的手电筒每 1 秒就会打开和关闭一次。 如果我编辑为

frum_timer = 300;

它每 0.3 秒打开和关闭一次。

我尝试实例化一个 new TimerTask()

c=new TimerTask()
{
    @Override
    public void run() 
    {
        timetask = new TimerTask() 
        {
            boolean checking = false;
            @Override
            public void run() 
            {
                runOnUiThread(new Runnable() 
                {
                    @Override
                    public void run() 
                    {
                        if(checking==true)
                        {
                            //camera turning on
                            checking=false; 
                        }else{
                            //camera turninf off
                            checking=true;  
                        }
                    }
                });
            }
        };
    }
};
//some code
t.scheduleAtFixedRate(c, 50, 700);

但这很难,因为当我更改值时,一个新的计时器将启动,而旧的计时器将保持活动状态。

顺便说一句:我知道转向 on/off 的代码不会按我想要的相同时间间隔更改,因为我的业余程序员技能(如果检查...等)

我找到方法了。

 new CountDownTimer(30000, 1000) {

     public void onTick(long millisUntilFinished) {
         mTextField.setText("seconds remaining: " + millisUntilFinished / 1000);
     }

     public void onFinish() {
         mTextField.setText("done!");
     }
  }.start();