实现每隔一段时间,自动执行某个功能,比如自动提交数据到服务器等

效果:

代码如下一个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();
    }
}

猜你喜欢

转载自blog.csdn.net/m0_37271466/article/details/84305845