インストール済パッケージを取得するでは、端末にインストールされているアプリケーションのパッケージ名を取得し、リストにしています。
今回は、取得したパッケージ名以外に、アプリケーションの名前とアイコンを取得し、それをリストにする方法を解説します。
さらに最後に、パッケージ名を利用して、選択したアプリケーションをアンインストールしてみます。
ポイントは、以下の4つです。
- ・PackageManagerからインストール済みアプリケーションの情報を取得する。
- ・ApplicationInfo#loadLabel(PackageManager pm)メソッドでアプリケーション名取得
- ・PackageManager#getApplicationIcon(String packageName)メソッドでアイコンを取得
- ・Intentの引数に、Intent.ACTION_DELETEを指定し、アンインストール画面に遷移する。
なお今回、リストの作成の際に以下の記事で作成したサンプルを利用していますので参考にしてください。
それでは続きをどうぞ
アプリケーション名を取得する
まず、アプリケーション名を取得します。アプリケーション名の取得は、ApplicationInfoクラスのloadLabel(PackageManager pm)メソッドで行います。
以下のソースコードを見て下さい。
12行目で、アプリケーション名を取得し、String型に変換しています。
なお、取得したアプリケーション名をセットしているitemDataは「 リストビューをカスタマイズする」で登場した CustomDataクラスのインスタンスです。
アプリケーションのアイコンを取得する
次に、アプリケーションのアイコンを取得します。アイコンの取得は、PackageManagerクラスのgetApplicationIcon(String packageName)メソッドにて行います。以下のソースコードを見て下さい。
14行目で、パッケージ名を引数にしてアイコンを取得しています。取得したアイコンは、アプリケーション名同様itemDataにセットしておきます。
なお、取得したアイコンはDrawable型ですので、それに合わせてCustomDataおよびCustomAdapterクラスの中身も多少変更する必要があります(詳しくはサンプルコードをご覧下さい)。
最後に、取得したアプリケーション名およびアイコンを、ListViewにセットして完了です(「 リストビューをカスタマイズする」参照)。
選択したアプリケーションをアンインストールする
選択したアプリケーションをアンインストールします。ポイントは、URIにリストから選択されたアプリケーションのパッケージ名を引数にし、IntentにACTION_DELETEとURIを指定します。
4行目でリストで選択されたアプリケーションの情報を取得、5行目でアプリケーションのパッケージ名を引数にURIを作成、6行目でIntentを生成しています。Intent生成の際に、引数にアプリケーションのURIおよびアクションのACTION_DELETEを指定することで、アプリケーションのアンインストール画面に遷移させることが可能です。
以上で、簡単なアンインストーラの完成です。
0 件のコメント:
コメントを投稿