更新の場合は、はい。BroadcastReceiver
サブクラスを実装します...
public class MyBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(final Context context, final Intent intent) {
if (intent.getData().equals(Uri.parse("package:<YOUR APP'S PACKAGE>"))) {
// Clean up for the new app install
}
}
}
...次に、マニフェストにタグを追加<receiver>
します。
<receiver android:name =".MyBroadcastReceiver">
<intent-filter>
<action android:name="android.intent.action.PACKAGE_REPLACED"/>
<data android:scheme="package"/>
</intent-filter>
</receiver>
PACKAGE_REMOVED
アクションもありますが、アプリが削除された後Intent
にそのアクションが発生するため、クリーンアップする機会がありません。