android : 循环定时器(不停的发送数据)

为了完成串口定时发送数据,回调接口需要的定时装置。

ublic class LongRunningService extends Service {
   @Nullable
   @Override
   public IBinder onBind(Intent intent) {
       return null;
  }
​
   @Override
   public int onStartCommand(Intent intent, int flags, int startId) {
       new Thread(new Runnable() {
           @Override
           public void run() {
//需要执行的代码
          }
      }).start();
       AlarmManager manager = (AlarmManager) getSystemService(ALARM_SERVICE);
       //时间设置(我设定的是5秒)
       int anHour = 5*1000;
       //设定计算机现在的时间点+加上的时间点(就是说设定你定闹钟的点)
       long triggerAtTime = SystemClock.elapsedRealtime()+anHour;
       //这个不用我说了吧
       Intent i = new Intent (this,LongRunningService.class);
       //打开一个服务组件
       PendingIntent pi = PendingIntent.getService(this,0,i,0);
       //1.计算机的时间(唤醒CPU)
       //2.设定的时间...
       //3.当定时任务被触发的时候,服务的onStartCommand()方法或者
       //广播接收器OnReceive()方法就可以得到执行
       manager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP,triggerAtTime,pi);
       return super.onStartCommand(intent,flags,startId);
  }
}

 、、、、、当然不要忘了再需要的点

  Intent intent = new Intent(context,LongRunningService.class);

  context.startService(intent);

 



posted @ 2021-04-20 22:13  锁猴  阅读(992)  评论(0)    收藏  举报