Ich möchte die integrierte Absichtsauswahl nutzen, um eine benutzerdefinierte gefilterte Liste von Anwendungen anzuzeigen, aus der der Benutzer auswählen und starten kann.
Ich weiß, wie man eine Liste der installierten Pakete erhält:
final Intent myIntent = new Intent(android.content.Intent.ACTION_MAIN);
List<ResolveInfo> resInfoList = getPackageManager().queryIntentActivities(myIntent, 0);
An dieser Stelle möchte ich die Liste auf der Grundlage einer bestimmten Zeichenfolge (oder Variation von Zeichenfolgen) innerhalb des Paketnamens, die ich herausfinden kann, wie zu tun, als gut zu filtern.
Aber hier ist der Punkt, an dem ich nicht weiterkomme. Soweit ich weiß, Intent.createChooser()
nimmt nur einen einzigen Ziel-Intent als Parameter an. Ich hatte gehofft, es gäbe eine Überladung, die eine Liste von Intents auf der Grundlage von Paket- und Klassennamen oder so etwas annimmt. Aber ich sehe nichts dergleichen. Habe ich das irgendwo übersehen?
Also die Frage ist, ist dies möglich, mit einem integrierten Chooser zu tun, oder muss ich meine eigenen mit AlertDialog Builder konstruieren? Ich hoffe, das letztere zu vermeiden.
Vielen Dank im Voraus.