내 Android 애플리케이션은 사용자가 특정 시간에 알림을 보내 일일 계획을 따르도록 도와줍니다. 이 작업은 JobScheduler로 쉽게 해결할 수 있습니다. 쉽고 가볍고 최신 솔루션 인 것처럼 보입니다.Android에서 하루에 한 번 예약 된 작업을 실행합니다.
내가 고심하고있는 것은 매일 모든 알림을 계획하는 것입니다. 사용자 매일 계획을 확인하고 매일 자정에 자동으로 알림을 예약하는 코드를 실행해야합니다. 그리고 지금까지 나는 2 가지 접근법을 발견했습니다.
JobService를 사용하십시오.는 그것은
공공 최종 무효 jobFinished (JobParameters의 PARAMS, 부울 needsReschedule)
으로 다시 스케줄 그러나 나는
내가해야하기 때문에 나쁜 해결책이라고 생각 될 수있다 성공 했음에도 불구하고 완성 된 작업을 실패로 간주합니다.
일정 시간이 선형 적으로 증가합니다/exponenti 동맹국이고 저에게 받아 들일 수 없습니다.
또 다른 방법은 알람 관리기 사용하는 것입니다, 그러나 그것은 또한 장치 잠
등록 경보가 유지됩니다
입니다 동안 문서에 따르면 단점
- 의 몇 가지를 가지고 (그리고 그 시간 동안 장치가 꺼지면 장치를 깨울 수도 있습니다), 장치를 끄고 재부팅하면 장치가 지워집니다.
내 사용자가 중요한 것을 놓칠 수 있으므로 허용되지 않습니다.
- 나는 배터리를 꽤 빨리 없앤다는 것을 읽었습니다. 그게 사실이야?
설명서에 나와있는 다른 해결책은 내가 필요로하지 않는 것 같습니다. (https://developer.android.com/topic/performance/scheduling.html)
가볍고 반복적 인 재부팅이 매일 예정된 작업을 어떻게 실행합니까?
좋은 아이디어. 하지만 아래 코멘트에 따르면 JobScheduler 실행을 연기 할 수 있기 때문에 Doze 모드도 고려해야합니다. 그래서 내가 이해할 수있는 한, JobScheduler와 AlarmManger로이 기능을 구현할 수 있으며 배터리 소모량과 일정 시간 정밀도 사이의 절충 만이 가능합니다. 적어도 몇 가지 선택을하는 것이 좋습니다. 고맙습니다! – StackNRG