
package com.mytest;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.Toast;
import java.util.Timer;
import java.util.TimerTask;
/**
* 實(shí)現(xiàn)每隔一段時(shí)間,自動(dòng)執(zhí)行某個(gè)功能,比如自動(dòng)提交數(shù)據(jù)到服務(wù)器等
*/
public class MainActivityextends AppCompatActivity {
final Timertimer =new Timer();
@Override
? ? protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
autoSubmit();
}
/**
* 用線程實(shí)現(xiàn)每隔一段時(shí)間自動(dòng)執(zhí)行代碼
*/
? ? private? void autoSubmit(){
timer.scheduleAtFixedRate(new TimerTask() {
@Override
? ? ? ? ? ? public void run() {
Message message=new Message();
message.what=0;
mHandler.sendMessage(message);
//這里填寫(xiě)自動(dòng)執(zhí)行的代碼
? ? ? ? ? ? }
},1000,6000);// delay 表示初始化延時(shí)。period 表示前一次執(zhí)行結(jié)束到下一次執(zhí)行開(kāi)始的間隔時(shí)間
//1秒=1000毫秒
//1分鐘=60000毫秒
//10分鐘=600000毫秒
? ? }
private? HandlermHandler =new Handler(){
@Override
? ? ? ? public void handleMessage(Message msg) {
if(msg.what ==0){
System.out.println("每隔一段時(shí)間執(zhí)行一次");
Toast.makeText(MainActivity.this,"每隔一段時(shí)間執(zhí)行一次",Toast.LENGTH_LONG).show();
}
}
};
/**
* 關(guān)閉定時(shí)自動(dòng)提交
*/
? ? private void cancelTimer(){
timer.cancel();
}
}