定时开关android TimerTask

时间:2015-08-21 09:14:10

标签: android timer 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毫秒,run()会将值存储到int frum_timer

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

所以,如果

frum_timer = 1000;

我的手电筒每1秒开启和关闭一次。 如果我编辑

frum_timer = 300;

它会每0.3秒开启和关闭一次。

我尝试实例化一个新的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);

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

BTW:我知道打开/关闭的代码不会因为我的业余程序员技能(如果检查等等)而以我想要的相同间隔发生变化

1 个答案:

答案 0 :(得分:0)

我找到了办法。

 new CountDownTimer(30000, 1000) {

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

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