2 つの類似したブロードキャスト イベントACTION_PACKAGE_FULLY_REMOVED
とが見つかりましACTION_PACKAGE_REMOVED
た。しかし、ユースケースの違いは何ですか? パッケージがアンインストールされたときにブロードキャスト イベントを受信したい場合、それらの実際の違いは何ですか?
ご注意ください: 私はアンドロイド開発と日々の学習に慣れていません。
2 つの類似したブロードキャスト イベントACTION_PACKAGE_FULLY_REMOVED
とが見つかりましACTION_PACKAGE_REMOVED
た。しかし、ユースケースの違いは何ですか? パッケージがアンインストールされたときにブロードキャスト イベントを受信したい場合、それらの実際の違いは何ですか?
ご注意ください: 私はアンドロイド開発と日々の学習に慣れていません。
ハイライトコードを参照してください。その両方の違いです...
ACTION_PACKAGE_REMOVED -: ブロードキャスト アクション: 既存のアプリケーション パッケージがデバイスから削除されました。データにはパッケージの名前が含まれています。インストールされているパッケージは、このインテントを受け取りません。
ACTION_PACKAGE_FULLY_REMOVED - : ブロードキャスト アクション: 既存のアプリケーション パッケージがデバイスから完全に削除されました。データにはパッケージの名前が含まれています。これは ACTION_PACKAGE_REMOVED に似ていますが、そのブロードキャストの EXTRA_DATA_REMOVED が true で EXTRA_REPLACING が false の場合にのみ設定されます。
android.googlesource.com/platform/packages/services/Telecomm の状態:
このクラスは、同じパッケージの再インストール時に {@code PACKAGE_REMOVED} がトリガーされるため、{@code PACKAGE_REMOVED} ではなく {@code PACKAGE_FULLY_REMOVED} インテントをリッスンします。{@code PACKAGE_FULLY_REMOVED} は、アプリケーションが完全にアンインストールされた場合にのみトリガーされます。 .
したがって、完全にアンインストールするには、PACKAGE_FULLY_REMOVED のみが必要です。PACKAGE_REMOVED は、再インストールさえもトリガーします。
ただし、テストに基づいて、何らかの理由で PACKAGE_FULLY_REMOVED が毎回トリガーされるわけではありません。インストールされていないパッケージに余分なデータがないためだと思います。これを証明するには、さらにテストが必要です。