안드로이드 앱 설치/업데이트시 서비스 시작 관련 질문 입니다.
조회수 2286회
안드로이드 개발도중 막히는 부분이 있어 이렇게 질문드립니다.
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.BROADCAST_PACKAGE_ADDED" />
<uses-permission android:name="android.permission.BROADCAST_PACKAGE_CHANGED" />
<uses-permission android:name="android.permission.BROADCAST_PACKAGE_INSTALL" />
<uses-permission android:name="android.permission.BROADCAST_PACKAGE_REPLACED" />
<receiver
android:name=".BCReceiver"
android:enabled="false"
android:exported="false">
<intent-filter>
<category android:name="android.intent.category.DEFAULT" />
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.intent.action.ACTION_SHUTDOWN" />
<action android:name="android.intent.action.PACKAGE_ADDED" />
<action android:name="android.intent.action.PACKAGE_CHANGED" />
<action android:name="android.intent.action.PACKAGE_INSTALL" />
<action android:name="android.intent.action.PACKAGE_REMOVED" />
<action android:name="android.intent.action.PACKAGE_REPLACED" />
<data android:scheme="package"/>
</intent-filter>
</receiver>
위에 처럼 receiver 를 추가하고 앱 설치 삭제를 테스트하고 있는데 부팅 관련해서는 잘 작동하는데 앱 설치 업데이트 이런 부분은 동작을 하지 않아서 이것 저곳 찾아봐도 딱히 답을 찾을수 없어 이렇게 질문을 남겨요.. 안드로이드 버전은 5.1.1(SDK 22) 이며 BroadcastReceiver 의 onReceive에 받자 마자 로그를 남겨도 부팅은 종료 등은 이벤트가 발생하는데 나머지는 발생하지 않습니다. 도움 부탁드려요..
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
특별한 이유가 없다면 브로드캐스트 리시버의 enabled, exported 속성을 true로 설정하시기 바랍니다. exported가 false인 경우, 앱의 외부에서 발생하는 메시지를 수신할 수 없게 됩니다. 두 설정을 true로 변경하신 후 테스트 해보세요.
패키지 설치, 삭제, 업데이트와 관련해서는 AOSP의 런처 소스코드를 살펴보는 것이 도움이 됩니다. 아래 링크를 참고하세요.
-
(•́ ✖ •̀)
알 수 없는 사용자
- 답변 갑사합니다. enabled, exported 는 true 에서 안되서 false 로 변경한거고요ㅠ 일단 참고 링크 확인해보겠습니다^^ 알 수 없는 사용자 2017.3.20 11:12
-
댓글 입력