Frage:
Finden Sie heraus, welche Absichten eine App intern verwendet
Ilari Kajaste
2012-06-01 14:55:54 UTC
view on stackexchange narkive permalink

Ich habe eine App ( Smart Tools), die aus mehreren unterschiedlichen Unteranwendungen besteht. Ich hätte gerne eine Verknüpfung für eine einzelne Unteranwendung, damit ich sie nicht über das Hauptmenü der App öffnen muss.

Ich bin mir ziemlich sicher, dass die App eine bestimmte Absichtssendung verwendet, um eine zu öffnen die subapps. Ich weiß, dass Tasker verwendet werden kann, um eine benutzerdefinierte Absicht an das Android-System zu senden. Wenn ich das richtig verstehe, wenn ich nur die Absicht nachahme, die das Smart Tools-Hauptmenü zum Aufrufen der spezifischen Unteranwendung verwendet, könnte ich die Unteranwendung direkt mit einer Tasker-Verknüpfung starten.

Aber dafür muss ich in der Lage sein die Absicht nachahmen. Da Smart Tools kein Open Source ist, wie finde ich heraus, welche Absicht die App "intern" verwendet?

Fünf antworten:
ce4
2012-07-02 00:27:21 UTC
view on stackexchange narkive permalink

Einfachste Lösung: Fragen Sie den Entwickler!

Grund: Es ist die zuverlässigste Quelle, wenn er / sie antwortet. Sie können nicht einfach sagen, welche Parameter eingestellt werden sollen, und wenn es sogar erlaubt ist, andere Aktivitäten von Ihrem eigenen 'Intent Launcher' aus zu starten (sei es Tasker oder etwas anderes).

Ich habe es mir kurz angesehen, es ist ein bezahlte App und ein kleiner Entwickler. Oft kümmern sich diese Entwickler wirklich darum und reagieren schnell, besonders wenn es sich um eine kostenpflichtige App handelt. Ich habe dies in der Vergangenheit mit Titanium Backup getan und war positiv überrascht, wie einfach es war.

Wenn Sie über die Informationen verfügen, können Sie auch die kostenlose App Manual Intent Shortcuts verwenden ein benutzerdefinierter Launcher.

Google Play verfügt über eine Schaltfläche "Entwickler kontaktieren" direkt unter der Übersichtsbeschreibung der (meisten?) Apps. Wenn Sie sich intelligente Tools ansehen, sehen Sie, dass sie vorhanden sind: androidboy1 (at) gmail com

Was Sie auch tun könnten:

UC Berkeley hat eine cooles Projekt:
ComDroid . Ein statisches Analysetool zum Erkennen von Schwachstellen in der Anwendungskommunikation

Es handelt sich um einen Webdienst, auf den Sie Ihre APK-Datei hochladen können. (Da Sie eine fortgeschrittene Frage stellen, wissen Sie wahrscheinlich, wie Sie die Apk Ihrer App erhalten). Nach dem Hochladen durchsuchen Sie die Analyse nach Start bösartiger Aktivitäten . Dies sind die gewünschten Informationen. Möglicherweise haben Sie das Glück, es mit Tasker usw. zu missbrauchen .

RvdK
2012-06-01 17:13:58 UTC
view on stackexchange narkive permalink

Sie benötigen die manifest.xml der APK. Wenn Sie die APK-Datei in eine ZIP-Datei umbenennen, können Sie sie öffnen. Hoffentlich können Sie das Manifest lesen, sonst müssen Sie die APK dekompilieren (viele Online-Tutorials).

Dann müssen Sie die Absichten, die es abhört, nachschlagen und verwenden. Oder verwenden Sie den Komponentennamen und starten Sie es explizit. Wie dies in Tasker zu tun ist, ist mir programmgesteuert unbekannt:

  Intent intent = new Intent (); intent .setComponent (new ComponentName ("com.package.name", ") com.package.name.activity ")); startActivity (intent);  
apktool (http://code.google.com/p/android-apktool/) ist ein viel besserer Weg, dies zu tun als das Entpacken. Manifeste haben oft ein Binärformat, das apktool extrahiert.
Izzy
2012-07-14 01:13:33 UTC
view on stackexchange narkive permalink

Wenn Ihr Gerät gerootet ist, können Sie AutoRun Manager vom Markt installieren (um nur die Listener nachzuschlagen, reicht auch die kostenlose Version aus). Verwenden Sie den erweiterten Modus - und dort werden alle Apps aufgelistet, die Listener haben (die Absichten abhören). Tippen Sie auf die App, die Sie untersuchen möchten, und alle registrierten Intent-Listener werden angezeigt. Jetzt können Sie sogar diejenigen deaktivieren, die Sie stören (z. B. Google Maps-Dienstlistener im Netzwerk ändern, um Ihren Standort zu ermitteln).

kyle k
2013-12-24 14:07:24 UTC
view on stackexchange narkive permalink

Ich würde einen Dekompiler verwenden Dexplorer in der Manifestdatei suchen, er hat die Absichten, die die App verwendet.

8bitme
2018-10-19 22:36:28 UTC
view on stackexchange narkive permalink

Mit adb können Sie überprüfen, welche Absichten eine App verwendet. Die Schritte dazu sind:

  • Entwickleroptionen aktivieren
  • Aktivieren Sie unter Entwickleroptionen das ADB-Debugging
  • Telefon mit Computer verbinden
  • ADB-Protokolle abrufen und Absichten abrufen: adb logcat | fgrep -i Absicht
  • Lösen Sie die Absicht auf Ihrem Telefon aus
  • Überprüfen Sie die Protokolle, um die Details der Absicht
zu ermitteln


Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...