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+에서만 작동 할 것이라고 믿는다.