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);

 

 
       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM