2

ユーザーがアプリをアンインストールするときに追加の処理/クリーンアップを追加できるように、インテント フィルターを使用してアプリのアンインストールをインターセプトするアクティビティを追加しました。私のアクティビティは正常に呼び出されますが、デバイスからのパッケージの削除を完了できないようです。

<activity
        android:name=".Uninstall"
        android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.DELETE" />
            <category android:name="android.intent.category.DEFAULT" />
            <data android:scheme="package"  />
        </intent-filter>
    </activity>

パッケージ マネージャーを使用してアンインストールを完了しようとすると、同じ選択ダイアログが表示されます。

Intent intent = new Intent(Intent.ACTION_DELETE, Uri.fromParts("package", Uninstall.this.getPackageName(), null));
startActivity(intent);

アプリの別のアンインストール アクティビティを提供している場合、デバイスからの APK の実際のアンインストールを完了するにはどうすればよいですか?

ありがとう。

4

1 に答える 1

2

インテントについては、リファレンス ドキュメントを参照してください。この意図ACTION_DELETEは、アプリケーション/パッケージではなく、コンテナからのアイテムの削除に関係しています。アプリケーション/パッケージの削除を処理する意図はACTION_PACKAGE_REMOVED、ドキュメントに記載されているとおりです。

既存のアプリケーション パッケージがデバイスから削除されました。データにはパッケージの名前が含まれています。インストール (アンインストール) されているパッケージは、この を受け取りませんIntent

したがって、あなたの質問に対する簡単な答えは、それはできないということです。本に従ってプレイする場合、アンインストール時に追加のタスクを実行する必要はありません。

于 2012-06-12T17:52:51.607 に答える