サービスでSMSを送信しようとします。SMSが送信されない場合は、しばらくしてからサービスを再起動することを意味します。そのためにタイマーを使用します。送信されたSMSがタイマーを停止したいことを意味する場合、タイマーを停止するには、タイマーを使用します。キャンセル(); その前に、タイマーが実行されているかどうかを確認する必要があります。確認方法は?
int resultCode = getResultCode();
switch (resultCode)
{
case Activity.RESULT_OK:
timer.cancel();//Here I want to check timer running or not
break;
case SmsManager.RESULT_ERROR_GENERIC_FAILURE:
timer_run();
break;
case SmsManager.RESULT_ERROR_NO_SERVICE:
timer_run();
break;
case SmsManager.RESULT_ERROR_NULL_PDU:
timer_run();
break;
case SmsManager.RESULT_ERROR_RADIO_OFF:
timer_run();
break;
}
タイマースケジュール機能
public void timer_run(){
TimerTask hourlyTask = new TimerTask () {
@Override
public void run () {
Intent myIntent = new Intent(Myservice.this,Myservice.class);
startService(myIntent);
}
};
timer.schedule (hourlyTask, 0l, 500*5*5);
}