毎日朝9時に関数を呼び出したいです。
timerを使ったのですが、
コードの内容としては、まずTimestamp型で9時に動くタイマーを起動します。
そして、それが関数を呼び出したら、それから24時間(86400000)ごとにその関数を呼び出します。
Timerクラスをこれほど長時間のタイマーに使うことは適しているのでしょうか?
また、実際の目覚ましAndroidアプリなどもTimerを使っているのでしょうか?
コードにエラーはありません。ただやりたいことを示すために記載しました。
どうぞよろしくお願いします。
java
1this.text=(TextView)findViewById(R.id.text); 2 3 //9時のDataを作る 4 Date nine_date =null; 5 SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); 6 try { 7 nine_date = sdf.parse("2020/08/14 09:00:00"); 8 } catch (ParseException e) { 9 e.printStackTrace(); 10 } 11 12 //9時から、今の時間を引いて、9時 までのmsを取得する 13 long nine_milles=nine_date.getTime() - System.currentTimeMillis(); 14 15 16 //9amnになったらアラームを呼ぶ 17 Timer start_t = new Timer(); 18 start_t.scheduleAtFixedRate(new TimerTask() { 19 @Override 20 public void run() { 21 22 runOnUiThread(new Runnable() { 23 @Override 24 public void run() { 25 26 alarm();//毎朝九時にアラームを呼び出す 27 } 28 }); 29 } 30 }, nine_milles, 86400000); //24時間==86400000ms
回答1件
あなたの回答
tips
プレビュー