2010-07-19 5 views
0

Existe-t-il un fournisseur de contenu Android natif standard qui renvoie des données répertoriant toutes les applications actuellement installées sur le téléphone portable. Quelque chose comme open()/readdir() sur un répertoire bin Linux. Etant donné que vous savez qu'une application est installée sur un téléphone portable Android, et que vous connaissez le nom de cette application, comment lancez-vous cette application à partir d'une application complètement différente et sans rapport avec celle-ci? Vous ne savez peut-être pas quels Intents/Diffusions/URI l'application que vous souhaitez lancer écoute. Et toutes les applications Android ne sont pas écrites pour répondre aux diffusions ou demandes d'intention/URI ....Question de programmation Android - fork/exec dans Android?

Répondre

1

L'idée est que vous ne vous souciez pas des applications sur le téléphone, vous vous souciez uniquement des intentions qu'ils écoutent . Si vous avez besoin de parcourir un fichier, quel est l'importance du navigateur de fichiers installé par la personne? Tout ce que vous devez faire est de dire au système d'exploitation que vous voulez choisir un fichier et laisser le système d'exploitation gérer cela.

+0

OK. Si je demande au système d'exploitation de choisir un fichier et que le fichier .apk correspondant à l'application que je souhaite lancer s'affiche, comment puis-je exécuter cette application/ce fichier? Considérons l'exemple suivant. Dans mon application, je veux que l'utilisateur exécute Android VNC. Je sais que l'application Android VNC a été installée sur le téléphone portable. Je pourrais simplement dire à l'utilisateur d'exécuter l'application VNC, mais il est préférable d'interroger l'utilisateur s'il souhaite lancer VNC ou Annuler. Si l'utilisateur appuie sur le bouton "Exécuter VNC", et non sur le bouton Annuler, je souhaite lancer l'application Android VNC. Comment puis-je savoir quelles sont les intentions de l'application Android VNC, le cas échéant? –

+0

Dans la sélection de fichiers, le système d'exploitation ne vous renvoie pas l'apk. Il lancerait l'application correcte et cette application renverrait l'information dont vous avez besoin. Dans le cas de vouloir lancer une application vnc, vous devez obtenir la classe à partir du système d'exploitation en utilisant le nom complet du paquet via la réflexion et l'utiliser dans l'intention envoyée au système d'exploitation et que le système d'exploitation le lance. – CaseyB