package com.my.android.test; import java.util.Date; import java.util.Timer; import java.util.TimerTask; import android.app.Service; import android.content.Intent; import android.os.Handler; import android.os.IBinder; import android.util.Log; public class MainService extends Service { private Timer timer; @Override public IBinder onBind(Intent intent) { // TODO Auto-generated method stub return null; } @Override public void onCreate() { super.onCreate(); Log.d("TAG", "onCreate"); } @Override //onStartは2.0以降は非推奨でonStartCommandを使うことが推奨されている //public void onStart(Intent intent, int startId) { public int onStartCommand(Intent intent, int flags, int startId) { //現在時刻の取得 long currentTimeMillis = System.currentTimeMillis(); Date date = new Date(currentTimeMillis + 10000);//現在時刻+10秒 // タイマの設定 timer = new Timer(true); final Handler handler = new Handler(); //service = Executors.newSingleThreadScheduledExecutor(); timer.scheduleAtFixedRate( new TimerTask() { @Override public void run() { handler.post(new Runnable() { public void run() { Log.d("TAG", "onStartCommand"); } }); } }, date, 3000);//スタート時間、3秒間隔 //super.onStart(intent, startId); return START_STICKY; } @Override public void onDestroy() { super.onDestroy(); if(timer != null){ timer.cancel(); } Log.d("TAG", "onDestroy"); } }
2011年12月24日土曜日
端末起動時にサービスを実行:タイマーで指定時間から繰り返し
端末起動時にサービスを実行:タイマーで繰り返し の記事の一部を修正
関連記事
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿