インストール後にホーム画面にショートカットを追加し、アプリケーションのアンインストール後に削除するアプリケーションを開発しています。アプリケーションはエンド ユーザーのデバイスにプレインストールされますが、アンインストールのオプションが必要です)。タスクは非常に単純に見えますが、実装する際に多くの問題に直面しました。
私がやった事:
- アプリの初回起動時または newt デバイスの再起動時に com.android.launcher.action.INSTALL_SHORTCUT を使用して、ホーム画面にショートカットを追加します。
- com.android.launcher.action.UNINSTALL_SHORTCUT を使用して手動でショートカットを削除します。
私ができないこと(そしてほとんどあきらめていること):
- アプリケーションのアンインストール時にショートカットを自動的に削除します。
アンインストールされるアプリケーションはこのインテントを受け取らないため、 Intent.ACTION_PACKAGE_REMOVED を使用する方法はありません。いくつかのテストを実行したところ、アプリケーションで削除される唯一のショートカット タイプは、[ホーム画面に追加 => ショートカット => アプリケーション => アプリケーション アクティビティ] メニューから作成されるショートカットであることがわかりました。プログラムで作成されたショートカット、または AndroidManifest で宣言されたショートカットは、アプリのアンインストール後もホーム画面に残ります。
このトピックに関するドキュメントやフォーラムへの投稿はほとんどなく、なぜ Android のセキュリティ ポリシーと矛盾しない単純な操作をそのまま実装できなかったのか、少し混乱しています。
アプリケーションのアンインストール時に対応するショートカットを削除するよう OS に依頼する方法はありますか? アプリケーションが削除される前に、アプリケーションがアンインストールされているというイベントをキャッチできますか?