0

いくつかのアプリがアクションを満たしている場合、暗黙的なインテントはユーザーにアプリのリストを表示します。次に、ユーザーはこのアプリを選択して起動します。

ただし、パッケージ名(または/およびクラス名)のリストがある場合、明示的な意図に対して同じことが可能ですか? のようなもの (このようには機能しませんが、これが私が望むものです):

Intent i = new Intent().setClassName(ListofPackagenames, ListofClassnames)
startActivity(i);

ListofPackagenames はパッケージ名の (配列) リストで、ListofClassnames はクラス名の (配列) リストです。startActivity を使用すると、暗黙的なインテントを開始するときと同じように、ダイアログを表示する必要があります。

これが不可能な場合は、もちろん衣装ダイアログを作成できます。パッケージ名またはクラス名からのみ appicon を取得する方法はありますか?

4

1 に答える 1

1

PackageManager起動アクティビティを取得し、次のEXTRA_INITIAL_INTENTS. ようなものでチューザー インテントを作成するために使用できます。

List<String> listofPackageNames=....
List<Intent> intentList=new ArrayList<Intent>();
PackageManager pm = getPackageManager();
for(String packageName:listofPackageNames){
    intentList.add(pm.getLaunchIntentForPackage(packageName));
}
Intent[] intents=new Intent[intentList.size()];
intents=intentList.toArray(intents);
Intent chooser=Intent.createChooser(intents[0],"Choose ...");
chooser.putExtra(Intent.EXTRA_INITIAL_INTENTS,Arrays.copyOfRange(intents,1,intents.length));
startActivity(chooser);
于 2015-10-18T20:32:22.097 に答える