Question:
Découvrir les intentions qu'une application utilise en interne
Ilari Kajaste
2012-06-01 14:55:54 UTC
view on stackexchange narkive permalink

J'ai une application ( Smart Tools) qui se compose de plusieurs sous-applications distinctes. J'aimerais avoir un raccourci pour une seule sous-application, donc je n'aurais pas à l'ouvrir via le menu principal de l'application.

Je suis presque sûr que l'application utilise une diffusion d'intention spécifique pour ouvrir l'une des les sous-applications. Je sais que Tasker peut être utilisé pour diffuser une intention personnalisée sur le système Android. Si je comprends bien, si je ne fais qu'imiter l'intention du menu principal de Smart Tools pour appeler la sous-application spécifique, je pourrais démarrer la sous-application directement avec un raccourci Tasker.

Mais pour cela, je dois pouvoir pour imiter l'intention. Étant donné que Smart Tools n'est pas open source, comment puis-je savoir quelle intention l'application utilise "en interne"?

Cinq réponses:
ce4
2012-07-02 00:27:21 UTC
view on stackexchange narkive permalink

Solution la plus simple: demandez au développeur!

Raison: c'est la source la plus fiable s'il répond. Vous ne pouvez pas dire facilement quels paramètres définir et s'il est même autorisé à démarrer d'autres activités à partir de votre propre «lanceur d'intentions» (que ce soit Tasker ou autre chose).

J'ai jeté un coup d'œil rapide, c'est un application payante et un petit développeur. Souvent, ces développeurs se soucient vraiment et réagissent rapidement, surtout s'il s'agit d'une application payante. Je l'ai fait avec Titanium Backup dans le passé et j'ai été agréablement surpris de voir à quel point c'était facile.

Si vous avez les informations, vous pouvez également utiliser l'application gratuite Raccourcis d'intention manuelle pour créer un lanceur personnalisé.

Google Play dispose d'un bouton "Contacter le développeur" juste en dessous de la description générale de (la plupart?) des applications. En regardant les outils intelligents, vous voyez qu'ils sont là: androidboy1 (at) gmail com

Ce que vous pouvez également faire:

UC Berkeley a un projet sympa:
ComDroid . Un outil d'analyse statique pour identifier les vulnérabilités basées sur la communication des applications

C'est un service Web sur lequel vous pouvez télécharger votre .apk. (Puisque vous posez une question avancée, je suppose que vous savez comment obtenir l'apk de votre application). Après le téléchargement, recherchez l'analyse de lancement d'activité malveillante , ce sont les informations que vous souhaitez. Vous aurez peut-être la chance de l ' abuser à l'aide de Tasker, etc.

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

Vous devez avoir le manifest.xml de l'APK. Si vous renommez le .apk en .zip, vous pouvez l'ouvrir. J'espère que vous pouvez lire le Manifeste sinon vous devez décompiler l'APK (beaucoup de tutoriels en ligne)

Ensuite, vous devez rechercher les intentions qu'il écoute et les utiliser, ou utiliser le nom du composant et le lancer explicitement. Comment faire cela dans Tasker m'est inconnu, pour le faire par programme:

  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/) est une bien meilleure façon de faire cela que la décompression. Les manifestes seront souvent au format binaire, qu'apktool extraira.
Izzy
2012-07-14 01:13:33 UTC
view on stackexchange narkive permalink

Si votre appareil est rooté, vous pouvez installer AutoRun Manager depuis le marché (pour simplement rechercher les écouteurs, la version gratuite fera également l'affaire). Utilisez son mode avancé - et là, il listera toutes les applications qui ont des écouteurs (qui écoutent les intentions). Appuyez sur l'application que vous souhaitez étudier, et tous ses écouteurs d'intention enregistrés s'affichent. Maintenant, vous pouvez même désactiver ceux qui vous ennuient (par exemple, l'écouteur du service Google Maps sur le réseau change pour faire levier sur votre position).

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

J'utiliserais un look décompilateur Dexplorer dans le fichier manifeste, il aura les intentions que l'application utilise.

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

Vous pouvez utiliser adb pour vérifier les intentions utilisées par une application. Pour ce faire, procédez comme suit:

  • Activer les options pour les développeurs
  • Sous les options pour les développeurs, activez le débogage adb
  • Connectez le téléphone à l'ordinateur
  • Obtenez les journaux adb et grep les intentions de sortie: adb logcat | fgrep -i intent
  • Déclenchez l'intention sur votre téléphone
  • Inspectez les journaux pour trouver les détails de l'intention


Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 3.0 sous laquelle il est distribué.
Loading...