定时执行任务(闪屏页面使用) || 循环执行任务

                                  定时执行任务(闪屏页面使用) || 循环执行任务

       
一.  定时执行任务:(2种方法)
      一般软件在进入程序前一般都会有2s时间显示自己的logo(如微信)或者是广告(黑一下uc).

1.  使用 CountDownTimer + Handler;

 
public class HandlerActivity extends Activity {
   private MyCount mc;
 @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
      
        mc = new MyCount(30000, 1000);
    
    
    
    
        mc.start(); //30000ms是倒计时的时间.1000ms是间隔的时间
}

   
   
   
   
  /* 定义一个倒计时的内部类 */
    class MyCount extends CountDownTimer {
        public MyCount(long millisInFuture, long countDownInterval) {
            super(millisInFuture, countDownInterval);
        }
//开始计时时执行的操作
        @Override
        public void onTick(long millisUntilFinished) {
            System.out.println("开始计时");
            Toast.makeText(getApplicationContext(), millisUntilFinished / 1000 + "",
                    Toast.LENGTH_LONG).show();
        }
//计时结束后执行的任务
        @Override
        public void onFinish() {
            System.out.println("完成");
         
        }
    }



  }


2.使用 Handler + postDelayed方法



new Handler().postDelayed(new Runnable(){

   @Override
public void run(){

        //要执行的任务

    Intent intent = new Intent(mContext,要开启的activity);

startActivity(intent);

     }

});



二 . TimerTask + Timer + Handler循环执行任务   (一般用于轮询)

public class TimerActivity extends Activity {
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
       
 
       TimerTask task = new TimerTask ();
       Timer timer = new Timer();
timer.schedule(task, 1000, 1000); // 1s后执行task,经过1s再次执行 } // 循环的任务
   private class TimerTask extends TimerTask {

        @Override
        public void run() {
            // 需要做的事:发送消息
            Message message = new Message();
            message.what = 1;
            handler.sendMessage(message);
        }
    };
// Handler来处理任务
  Handler handler = new Handler() {
        public void handleMessage(Message msg) {
            if (msg.what == 1) {

 //闪屏结束进入主界面             
            }
            super.handleMessage(msg);
        };
    };
  


}

轮询,定时执行任务的方法有很多种.以上3种完全够用了.以后有需要会再去补充的.

你可能感兴趣的:(定时执行任务(闪屏页面使用) || 循环执行任务)