2013-07-22 2 views
6

시간이 지나면 사람들을 기쁘게하는 앱을 만들었습니다. Google Play에 새로운 APK를 배치 한 후에는 더 이상 알람이 작동하지 않는다는 불만이 많습니다. 사용자가 앱을 시작하거나 재부팅 한 후에 만 ​​다시 작업을 시작합니다. Help!Google Play 업데이트 후 Android AlarmManager가 실행되지 않음

+0

서비스 및 경보를 포함하여 업데이트하십시오. 업데이트 후에 앱을 열도록 알릴 필요가 있습니다. 그러면 필요한 서비스/알람을 시작할 수 있습니다. –

+0

그래, 네가 여기 붙어있어. http://stackoverflow.com/questions/8531926/how-to-start-a-service-when-apk-is-installed-for-the-first-time/8535062#8535062 – roostertech

답변

8

ACTION_MY_PACKAGE_REPLACED 의도적 동작 (허니 콤 이상)을 확인하십시오.

브로드 캐스트 리시버를 매니페스트에 등록하면 알람을 다시 예약 할 수 있습니다.

+0

Studio 1.0에서 컨텍스트 도움말을 사용할 때 이 android.intent.action.PACKAGE_REPLACED 만 표시됩니다. 나는 android.intent.action.ACTION_MY_PACKAGE_REPLACED를 보지 않을 것입니다. 처음 사용하는 것이 괜찮습니까? API 16 이후에만 지원합니다 – user2731584

+0

minSdkVersion 16과 targetSdkVersion 21이 맞습니까? – orip

+0

예, 최소 SDK는 16이고 최대 값은 21입니다. – user2731584

3

예약 된 알람은 업그레이드시 취소되지 않습니다. 필자는 안드로이드 버전 2.2 및 4.3과 글쓰기 당시의 최신 Google Play에서이를 확인했습니다.

확실한 점은 새 버전이 이전 버전의 모든 보류중인 의도를 처리 할 수 ​​있다는 것입니다. 즉 의미

  • 매니페스트 (방송 수신기 또는 서비스)
  • 같은 의도 "계약"에 동일한 대상 정의 : 액션, 엑스트라 등
앱가 순서대로 중지되었을 것입니다
+1

실제로 알람이 취소되지 않으며 다시 재설정하십시오 – AnasBakez

+2

올바르지 않습니다. 알람은 더 이상 취소되지 않습니다. 증거를 원하니? 출처 : http://grepcode.com/file/repo1.maven.org/maven2/org.robolectric/android-all/4.3_r2-robolectric-0/com/android/server/AlarmManagerService.java#AlarmManagerService를 확인하십시오. UninstallReceiver – sooniln

+2

@sooniln 당신이 맞지만, 링크가 Robolectric 소스 코드를 가리키고 있습니다. 다음은 Android 소스 코드 (http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/5.0.2_r1/com/android/server/AlarmManagerService)에 대한 링크입니다. java/# 1902 – Eliezer

관련 문제