2010-05-07 8 views
0

est-il possible d'avoir un service (A) qui va lancer une activité (B), puis capturer périodiquement l'écran de B?capturer l'écran d'une autre activité dans android

est-il également possible d'envoyer des événements onTouch de A à B?

Fondamentalement, je voudrais faire un bot qui utiliserait une application donc je n'ai pas à le faire. Je suppose que ce n'est pas possible mais j'ai dû demander.

Répondre

1

Vous ne pouvez pas faire cela à travers Activity s mais vous pouvez créer une vue qui contient le Activity que vous voulez automatiser. Ensuite, périodiquement, vous pouvez saisir le ViewDecorator et y effectuer un traitement, puis injecter des événements tactiles.

+0

Hummm ... vraiment? Je ne suis pas convaincu que ce soit possible dans le cadre de votre propre demande, et j'infère que OP est intéressé à contrôler une autre application. – CommonsWare

+0

oui, je suis intéressé à contrôler une autre activité qui ne m'appartient pas. ne pas avoir le code source pour cela ou quoi que ce soit. btw, ne peut rien trouver sur ViewDecorator dans android. – discoHR

0

Les captures d'écran des applications qui ne sont pas l'application actuelle sont interdites sur les appareils Android pour des raisons de sécurité. Pour autant que je sais jusqu'à Android 4.3, vous ne pouvez le faire dans ces scénarios:

  • Votre appareil est enraciné
  • Votre application est signé avec la même signature du système (applications Google)
  • Avec adb (environnement de débogage): votre périphérique est connecté via USB à un PC exécutant des commandes shell adb, ou bien le périphérique USB est déconnecté mais vous avez démarré le service adb natif sur votre périphérique après le redémarrage de chaque périphérique.

Quelques liens utiles:

How to programmatically take a screenshot in Android?

How to make a capture screen app on Android

http://code.google.com/p/android-screenshot-library/wiki/UserGuide

Questions connexes