2014-01-14 2 views
0

범위 : 안녕하세요, Android API에서 서비스를 개발 중입니다. 나는Android 시스템 업데이트 이벤트

android.intent.action.BOOT_COMPLETED 

하는 설정이었다 및 서비스가 10 분마다 알람 관리기에 의해 예정이다 BOOT이 (장치가 실행되는 동안) 전체 시간을 실행하기위한 서비스이므로 수신기가 필요합니다.

문제점 : 내 OS에 업데이트가 있고 업데이트 한 후 서비스가 중단되고 AlarmManager에서 서비스 예약이 취소됩니다. 그리고 장치를 재부팅하지 않는 한 서비스는 시작/예약되지 않습니다.

질문 : 수신기가 OS가 다시 시작되지만 장치가 아닌 이벤트가 있습니까? 또는 업데이트가 설치되고 OS가 다시 시작 됩니 까?

편집

안녕하세요, 링크 및 조언 감사합니다.
요즘 저는 Evernote 라이브러리를 사용하여 백그라운드 작업을 예약하고 있습니다.
https://github.com/evernote/android-job
나는 진실을 받아 들였고, 장수하는 서비스는 반 패턴이며 부스 방송은 까다로울 수 있습니다. 결과적으로 Evernote를 사용하여 간단한 작업을 반복적으로 수행하여 "내 필요를 충족"하도록했습니다. 예상대로 작동하며 기기 재시작 후 다시 시작합니다 &은 "Android 알람 계획"관리와 호환됩니다.
멋진 라이브러리입니다.

+0

이 링크 [http://stackoverflow.com/questions/10428510/how-to-start-launch-application-at-boot-time-android][1] 에게 시도 [1] : http://stackoverflow.com/questions/10428510/how-to-start-launch-application-at-boot-time-android – kAnNaN

답변

1

Android API에서 서비스를 개발 중입니다. 이 서비스가 전체 시간 동안 실행되어야합니다 (기기가 실행되는 동안)

일반적으로 Android에서는 안티 패턴입니다.

OS가 다시 시작되지만 장치가 아닌 수신자 이벤트가 있습니까?

표준 안드로이드에는 "OS가 다시 시작되었지만 장치가 아닙니다"라는 개념이 없기 때문에 안드로이드 SDK에는 없습니다. OS가 업데이트되면 업데이트 프로세스의 일부로 전체 장치가 재부팅됩니다 (적어도 두 번).

장치 제조업체에서 설명하는 동작을 수행하고 있어야합니다. 해당 제조업체에 문의하여 자신의 시나리오에 관한 조언이 있는지 확인할 수 있습니다.

사용자가 설정의 앱 화면에서 "강제 종료"를 탭하면 이러한 결과 ("내 서비스가 중지되고 서비스의 일정을 AlarmManager에서 취소합니다")가 발생합니다. 재부팅 후에도 사용자가 홈 화면에서 앱을 시작하거나 명시 적으로 구성 요소 중 하나를 호출 할 때까지 코드가 다시 실행되지 않습니다.

+0

답변으로 수락했습니다. 업데이트는 제조업체 문제 였기 때문에 Android API가 도움이되지 않습니다.사용자는 장치가 다시 시작되지 않았다고 맹세합니다. – zegee29