Android がデフォルトで持っているアプリケーション グリッドを複製して、すべての「起動可能な」アプリケーションをロードしようとしています。
私はこのようにしています。
//generate the intent to get the application list
final Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
PackageManager manager = getPackageManager();
applicationList = manager.queryIntentActivities(mainIntent, 0);
//sort the list
Collections.sort(applicationList, new ResolveInfo.DisplayNameComparator(manager));
//user in calculating percentage.
if (applicationList.size() > 0 ){
for (ResolveInfo info : applicationList) {
リストを処理して、アプリケーションの名前とアイコンをグリッドビューに表示すると、カメラに関しては、ギャラリーのラベルとアイコンを取得し続けます。
私が使用するラベルを取得するために:
PackageManager manager = getPackageManager();
(String) manager.getApplicationLabel(applicationInfo)
アイコンを取得するため
info.loadIcon(getContext().getPackageManager());
info は ApplicationInfo オブジェクトです。
何が起こっているのだろうか。
これまでのところ、そのアプリケーションに気付きましたが、別のアプリケーションかもしれません。
カメラResolveInfoからカメラアプリケーションを取得する方法を知っている人
デバッグ中にスクリーン ショットを撮りました。これは、その ResolveInfo について取得した情報です。
アドバイスありがとう。セザール・グレズ。