Je travaille sur la détection des gestes et des touchers sur un appareil Android. Le problème est que mon application devra détecter ces gestes en dehors de sa propre vue, sur d'autres applications ou même sur l'écran d'accueil. En d'autres termes, existe-t-il un moyen d'espionner les événements tactiles ? J'imagine qu'il existe quelques mesures de sécurité pour empêcher cela. J'ai juste besoin de prouver le concept, donc j'essaierais ceci sur un appareil de développement où je peux désactiver toute sécurité qui pourrait m'empêcher de le faire (sans causer de préjudice à quiconque ou exposer leurs données).
Réponses
Trop de publicités?Vous ne pouvez pas faire ça à dessein. Ce serait un énorme risque de sécurité si Android vous permettait de faire quelque chose comme ça. Pensez-y, si vous pouviez le faire, vous pourriez facilement créer toutes sortes d'applications malveillantes comme un enregistreur de frappe. Quant à la suggestion de service d'arrière-plan, il n'est pas possible d'utiliser un service d'arrière-plan pour intercepter les événements tactiles d'une autre application. En fait, Google l'a fait exprès : vous ne pouvez pas interférer avec le cycle de vie d'une autre application ou avec les gestionnaires d'événements, etc. etc. En fait, Google considère ce que vous essayez de faire comme du code malveillant, même si votre intention d'écrire ce code n'est pas malveillante ou illégale, mais simplement en dehors du paradigme de sécurité qu'Android a choisi, et donc considéré comme malveillant.
Eh bien, c'est très très limité mais vous pourriez utiliser les AccessibilityEvents sur un service d'arrière-plan pour suivre le survol et l'exploration de l'écran, mais encore une fois, c'est très limité, mais cela ne nécessite pas d'obtenir une permission spéciale ou magique de Google ou de construire votre propre ROM haha, j'espère que cela vous aidera :)