Application을 설치(Install), 삭제(Uninstall), 업데이트(Update)를 할 경우 아래와 같은 Action의 Broadcast 이벤트가 발생합니다.

PACKAGE_ADDED

PACKAGE_REMOVED

PACKAGE_REPLACED


  하지만 위 Action을 Intent filter에 등록하고 Receiver에서 이벤트를 받을려고 해도 이벤트가 받아지지 않습니다. 그렇다고 추가로 Permission이 필요한 것도 아닙니다.


  위 Action들을 처리할 Scheme가 등록이 되지 않아서 그런데요. 위 Action들이 필요로 하는 Scheme를 아래와 같이 등록하면 Receiver에서 이벤트를 받을 수 있습니다.

<intent-filter>

    <action android:value="android.intent.action.PACKAGE_ADDED" />

    <action android:value="android.intent.action.PACKAGE_REMOVED" />

    <action android:value="android.intent.action.PACKAGE_REPLACED" />

    <scheme android:value="package" />

</intent-filter>

IntentFilter filter = new IntentFilter(Intent.ACTION_PACKAGE_ADDED);

filter.addAction(Intent.ACTION_PACKAGE_REMOVED);

filter.addAction(Intent.ACTION_PACKAGE_REPLACED);

filter.addDataScheme("package");


저작자 표시 비영리 변경 금지
신고
  1. 초보 코터 2015.11.19 18:54 신고

    혹시 저 액션을 이용하면 자신의 앱을 지울때 특정 함수나 이밴트가 동작하도록 코딩이 가능한가요?

+ Recent posts