2016-07-28 13 views
1

アラームが鳴っている間一時的にシャットダウン/一時停止し、その後アラームが鳴ってから再開できるサービスがあります。私のサービスがしていることは、スクリーンの上でWindowManagerを使ってビューを膨らませるということです。ロックスクリーンアプリです。しかし、常に他のものの上にあります。アラーム中にサービスを一時停止したあとで再開

これは、 PhoneStateListenerを使用して呼び出すが、私はアラームとして便利な何も見ていない - 私はアラームが鳴ったら私のサービスをシャットダウンするAlarmManager.onAlarmListenerを実装することができると思うが、私は再びそれを再びオンにするのか分からないその後。

ありがとうございました!

答えて

1

実装しようとすることができます!

あなたはそうのように次のアラームの時間を取得することができます:

AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE); 
    alarmManager.getNextAlarmClock().getTriggerTime() 

だからあなたのサービスのonCreateメソッドにこれを追加します。

AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE); 
     if (alarmManager.getNextAlarmClock() != null) { 
      UIHandler.postAtTime(new Runnable() { 
       @Override 
       public void run() { 
        stopSelf(); 
       } 
      }, alarmManager.getNextAlarmClock().getTriggerTime()); 
     } 

は、基本的にはそれが何をするかの時間を得ることです次のアラームをミリ秒単位で入力し、次のアラームが発生したときに実行可能なイベントをポストします。

私はAPI 21でのみ動作すると信じています+

関連する問題