반응형
설명
- 안드로이드에서 앱 업데이트 직후 앱이 실행 됬는지 알 수 있는 방법이 있다.
바로 아래 ACTION 이벤트 이다.
android.intent.action.MY_PACKAGE_REPLACED
- 이 이벤트는 앱이 업데이트 되거나 재설치(android studio run) 됬을 때 호출 되는데
재설치는 상용에서는 고려 할 필요가 없을 것 같다.- 애초에 상용에서 앱 업데이트를 내려 받을 때는 version code 가 다를 때만 해당하기 때문이다.
# 사용하기 - 이제 이 코드를 적용 해보자.
AndroidManifest.xml
<receiver
android:name=".receiver.AppUpdateCheckReceiver"
android:enabled="true"
android:exported="false">
<intent-filter>
<action android:name="android.intent.action.MY_PACKAGE_REPLACED" />
</intent-filter>
</receiver>
AppUpdateCheckReceiver.kotlin
class AppUpdateCheckReceiver : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
if(intent?.action == Intent.ACTION_MY_PACKAGE_REPLACED){
Clog.d("${intent.action}")
}
}
}
- 성공적으로 ACTION_MY_PACKAGE_REPLACED 이벤트 알림을 받을 수 있다.
- android 8 부터 암시적 브로드캐스트의 등록은 제한 되었지만, 모두가 그런 것은 아니고 몃몃 이벤트 등록은 제한에서 제외 되었다.
주의사항
- android 8 이하에서는 호출이 되지 않는다.
android.intent.action.PACKAGE_REPLACED
- 위 이벤트를 활용하여, 구현해야 하는데 암시적 등록에도 호출 되지 않는다.
- 문제 호출이 되기는 하는데. 내 앱에 대한 업데이트 일때만 호출이 되는 것은 아니라는거다
- 구글링 하여 저 이벤트로 어떻게든 내 앱에 대한 것만 receive 하려고 했지만.. 실패했다...
반응형
'Develop > Android' 카테고리의 다른 글
[Android] Foldable Phone(폴더블 폰) 접힘 여부 알아내는 법 (0) | 2020.06.23 |
---|---|
[Android] SMS 자동으로 읽어오기 (0) | 2020.05.22 |
[Android] Doze Mode (0) | 2020.04.08 |
[Android] Night Mode 지원 방법 (0) | 2020.04.07 |
[Android] Apk signing key 와 .keystore, hash key (0) | 2020.04.06 |