简单的定时任务

流过昼夜 提交于 2020-01-14 07:07:31
//定时器服务
public class LongRunningService extends Service {
    public LongRunningService() {
    }

    @Override
    public IBinder onBind(Intent intent) {
        // TODO: Return the communication channel to the service.
//        throw new UnsupportedOperationException("Not yet implemented");
        return null;
    }


    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        new Thread(new Runnable() {
            @Override
            public void run() {
                //这里执行具体的逻辑操作
                System.out.println("简单的输出一句话------无人与我立黄昏,无人问我粥可温------------------");
            }
        }).start();

        //获取AlarmManager实例
        AlarmManager manager = (AlarmManager) getSystemService(ALARM_SERVICE);
        int anHour = 10*1000;
        long triggerAtTime = SystemClock.elapsedRealtime() + anHour;//触发时间
        Intent i = new Intent(this,LongRunningService.class);
        PendingIntent pi = PendingIntent.getService(this,0,i,0);//获取一个执行服务的PendingIntent,定时任务被触发的时候,onStartCommand()方法执行
        manager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP,triggerAtTime,pi); //设置定时任务
        return super.onStartCommand(intent,flags,startId);
    }
}
public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
       
        //启动定时任务
        Intent intent = new Intent(this,LongRunningService.class);
        startService(intent);
    }
}
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!