起動可能なアプリケーションの一覧を取得する方法です。
リファレンスが英語のため、こんな簡単なことでも、内容が理解するために翻訳しながらしないといけないので、メモっておきます。
// 起動可能なIntent
Intent intent=new Intent(Intent.ACTION_MAIN,null);
// デスクトップから可能なIntent(つまり通常のアプリケーション)
intent.addCategory(Intent.CATEGORY_LAUNCHER);
// 通常のアプリケーションのリストを取得
PackageManager manager=getPackageManager();
List<ResolveInfo6gt; infoes=manager.queryIntentActivities(intent,0);
TextView textView = (TextView) findViewById(R.id.textView);
for (int i = 0;i < infes.size(); i++) {
ResolveInfo info=infes.get(i);
// TextViewにアプリケーション名を出力
textView.append(info.loadLabel(manager) + "\n");
}
ここではアプリケーション名をResolveInfoから取得していますが、アイコンや起動に必要なパッケージやクラスの名前の取得もできます。
>>ここではアプリケーション名をResolveInfoから取得していますが、アイコンや起動に必要なパッケージやクラスの名前の取得もできます。
返信削除この情報がすっごく欲しかったので、ここに書かれた事に非常に感謝です!!