Android 上にインストールされているアプリケーションの一覧を取得する (Delphi Code)

投稿者:: Chikako Yonezawa

概要: Java ライブラリの PackageManager と ApplicationInfo を使うと、デバイスにインストールされているアプリケーションの情報を取得することができます。

簡単なサンプルコードを以下に記します。
このサンプルでは取得したアプリケーション名を ListBox の Items として追加しています。

// usesに以下を追加します
// Androidapi.JNI.GraphicsContentViewText
// Androidapi.JNI.JavaTypes
// Androidapi.Helpers
// Androidapi.JNIBridge

var
  PM: JPackageManager;  // PackageManager
  PL: JLlist;           // 取得したパッケージ情報を格納するためのリスト
  AI: JApplicationInfo; // ApplicationInfo
  iter: JIterator;
  i: Integer;
begin
// PackageManagerを取得する
  PM := TAndroidHelper.Activity.getPackageManager;

// JListにパッケージ情報を格納する
  PL: PM.getInstalledApplications(TJContext.JavaClass.BIND_AUTO_CREATE); 
  iter := PL.Iterator;

// 初期化
  i := 0;
  ListBox1.Items.Clear;
 
  while iter.hasNext do begin
    // リストに格納されているパッケージ情報を1件取り出す
    AI := TJApplicationInfo.Wrap((PL.get(i) as ILocalObject).GetObjectID);

    // ListBoxの itemsに loadLabelで取得したアプリケーション名をセットする
    ListBox1.Items.Add(JStringtoString(AI.loadLabel(PM).toString));

    // 次の項目へ
    i := i+1;
    iter.next;
  end;
end;

実際に実行すると、次のようになりました。

(C++ Code版)


次からのサーバー応答:: ETNASC03