Written by
lsm
on
on
TIL:앱 삭제 이벤트 캐치
안드로이드 앱에서 앱이 삭제 되는 것을 ACTION_PACKAGE_REMOVED를 이용하여 감지할 수 있다.
다만 사용자가 삭제를 하는 패키지에서는 해당 인텐트를 전달 받지 못한다.
Receiver 정의
- AndroidManifest.xml에 intent-filter 추가
<receiver android:name="리시버 명">
<intent-filter>
<action android:name="android.intent.action.PACKAGE_REMOVED"/>
<data android:scheme="package" />
</intent-filter>
</receiver>
- UninstallReceiver.java
public class UninstallReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String data = intent.getDataString();
Logger.d("tag", "intent data result : " + data);
}
}
위의 리시버를 통해서 앱 삭제 이벤트를 캐치하고 삭제하는 패키지 이름을 알 수 있게 된다.
Reference
- http://developer.android.com/reference/android/content/Intent.html#ACTION_PACKAGE_REMOVED