Intentを使ったパッケージのアンインストール

Android端末ではアプリをパッケージ単位で管理しているのでパッケージをアンインストールすることでアプリをアンインストールできます。

アプリ側でこのパッケージを削除する方法は直接はありません。

しかし、パッケージのアンインストールを端末側に依頼することならできます。

その方法はこうです。

Intent intent = new Intent(Intent.ACTION_DELETE);
intent.setData(Uri.parse("package:com.xxx.myapp"));
startActivity(intent);

これをActivity内で実行するとUninstallActivityが起動して次のような確認ダイアログが表示されます。(GALAXYの場合)

このダイアログでOKボタンを押すとパッケージのアンインストールが始まります。

UninstallActivityの実装のせいなのかstartActivityForResultからアンインストールダイアログを表示しても結果が返ってきません。

なので、パッケージがアンインストールされたかどうかはregisterReceiverBroadcastReceiverを登録するなどすれば調べることができます。

関連項目
プライバシーポリシー