Absichtsfilter für installierte Pakete auflisten

Ich möchte die Aktivitätsabsichtsfilter für die auf meinem Telefon installierten Pakete auflisten. Dies ist nur für eine Lernerfahrung, ich möchte verstehen, welche Apps mit impliziten Absicht begonnen werden können und wie die Absichtsfilter eingerichtet sind.

Google bietet eine Tabelle für die Anwendungen, die sie unter http://developer.android.com/guide/appendix/g-app-intents.html zur Verfügung stellen . Ich suche eine ähnliche Liste für andere Anwendungen zu erstellen.

  • Wie benutzt man IntentCompat.makeRestartActivityTask ()?
  • Wie kann ich wissen, welche Absicht in Intent.ACTION_SEND ausgewählt ist?
  • Ich bekomme immer Fehler "Keine Aktivität gefunden, um Absicht zu behandeln"
  • Wie bekomme ich Benutzernamen, Telefon und E-Mail von PayPal Mobile Payment Library
  • Android-Empfänger für mehrere Aktionen?
  • Öffnen Sie eine andere Anwendung von Ihrem eigenen (Absicht)
  • Kann ich den PackageManager benutzen und diese Info in Code verschieben? Kennt jemand eine bestehende App, die das machen kann? Kann jemand mich auf ein bestehendes Beispiel verweisen, um zu tun, was ich will?

    Sorry, wenn dies ein Duplikat von ähnlichen Fragen wie Listing einer Anwendung Aktivität und Absicht-Filter? Und Android – Wie bekomme ich eine Liste aller verfügbaren Intent-Filter?

  • Lesen Sie eine PDF-Datei aus dem Assets-Ordner
  • Android-Start-Anwendung Detail-Seite
  • Android Intent für HTTP MP3 Stream auf HTC Incredible
  • Überprüfen Sie die Benutzeraktion auf Intent.ACTION_VIEW
  • Wie füge ich Text auf Videoaufnahme hinzu?
  • Unterschied zwischen Kategorie Home und Category Launcher
  • 3 Solutions collect form web for “Absichtsfilter für installierte Pakete auflisten”

    AFAIK gibt es keine Möglichkeit, alle Absicht aufzulisten, die eine bestimmte Anwendung erhalten kann. Allerdings können Sie ähnliche (wenn auch nicht so expansive) Informationen erhalten, indem Sie einige Absicht selbst dann mit PackageManager 's queryIntentActivities, queryIntentservices und queryBroadcastReceivers erstellen, um zu sehen, welche Anwendungen installiert sind, die auf diese Absicht reagieren.

    Lassen Sie mich empfehlen die App "ManifestViewer". Es listet Absicht für jede installierte App auf. https://play.google.com/store/apps/details?id=jp.susatthi.ManifestViewer

    Einen schönen Tag noch !!

    Mit dem folgenden Befehl mit meinem Nexus 6 auf Nougat 7.0 bekam ich die Liste aller Absichten:

    adb shell pm dump * | grep ' filter' | cut -d ' ' -f 12 | sort | uniq

    • Zuerst öffnet der Befehl eine Shell in dein Gerät und macht einen PackageManager Dump von jedem Paket.
    • Dann pfeife diese Ausgabe zu grep die nur Zeilen mit dem Wort 'filter' auswählt.
    • Dann Pfeife, die Ausgabe zu cut die den Text an der 12. Position der beliebigen Räume auf dieser Zeile gefunden.
    • Dann Pfeife, die Ausgabe zu sort welche Sortierung diese Liste von A bis Z.
    • Dann Pipe, die Ausgabe an uniq die doppelte Intents uniq .

    YMMV – geben Sie diesen einen Versuch ein zu einer Zeit. Füge die nächste Pfeife hinzu, wie du die gewünschten Ergebnisse siehst. Nicht sicher, ob vorherige Versionen von adb Ihnen verschiedene Zahlen von Leerzeichen zum Beispiel geben werden.

    Und wenn du die Ergebnisse für nur ein Paket wie Chrome wolltest, kannst du:

    adb shell pm dump com.android.chrome | grep ' filter' | cut -d ' ' -f 12 | sort | uniq

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.