實現每隔一段時間,自動執行某個功能,比如自動提交資料到伺服器等
阿新 • • 發佈:2018-12-19
效果: 程式碼如下一個activity 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; /** * 實現每隔一段時間,自動執行某個功能,比如自動提交資料到伺服器等 */ public class MainActivity extends AppCompatActivity { final Timer timer = new Timer(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); autoSubmit(); } /** * 用執行緒實現每隔一段時間自動執行程式碼 */ private void autoSubmit(){ timer.scheduleAtFixedRate(new TimerTask() { @Override public void run() { Message message=new Message(); message.what=0; mHandler.sendMessage(message); //這裡填寫自動執行的程式碼 } },1000,6000);// delay 表示初始化延時。period 表示前一次執行結束到下一次執行開始的間隔時間 //1秒=1000毫秒 //1分鐘=60000毫秒 //10分鐘=600000毫秒 } private Handler mHandler = new Handler(){ @Override public void handleMessage(Message msg) { if(msg.what == 0){ System.out.println("每隔一段時間執行一次"); Toast.makeText(MainActivity.this,"每隔一段時間執行一次",Toast.LENGTH_LONG).show(); } } }; /** * 關閉定時自動提交 */ private void cancelTimer(){ timer.cancel(); } }