Sto lavorando per rilevare gesti e tocchi su un dispositivo Android. Il problema è che la mia app dovrà rilevare questi gesti al di fuori della propria vista, su altre app o persino sulla schermata principale. In altre parole, c'è un modo per intercettare gli eventi touch? Immagino che ci siano alcune misure di sicurezza che impediscono questo. Ho solo bisogno di dimostrare il concetto, quindi proverei questo su un dispositivo di sviluppo in cui posso disabilitare qualsiasi sicurezza che potrebbe impedirmi di fare ciò (senza causare danni a nessuno o esporre i propri dati).Posso origliare eventi tattili Android?
risposta
Non è possibile farlo in base alla progettazione. Sarebbe un enorme rischio per la sicurezza se Android ti permettesse di fare qualcosa del genere. Pensaci, se potessi fare questo, potresti facilmente creare ogni sorta di applicazioni dannose come un keylogger. Per quanto riguarda il suggerimento del servizio in background, non è possibile utilizzare un servizio in background per intercettare gli eventi touch da un'altra app. Fondamentalmente, Google lo ha fatto apposta, non puoi scherzare con il ciclo di vita di un'altra applicazione o gestori di eventi, ecc. Ecc. In effetti, Google prenderebbe in considerazione ciò che stai cercando di fare come codice dannoso anche se il tuo intento per scrivere il codice non è È dannoso o illegale, è semplicemente al di fuori del paradigma di sicurezza scelto da Android, e quindi è considerato malevolo, quindi Google farà il possibile per non permetterti di farlo.
Tuttavia, se si ha il controllo sul framework, si può certamente fare. Dovresti compilare il tuo build Android dal sorgente con i gesti modificati come parte del framework. In alternativa, è possibile modificare il framework per consentire ad altre app di intercettare gli eventi touch. Non sarebbe ancora * facile * perché, come dice questa risposta, è al di fuori del modello di sicurezza. – dcow
Vero, se potessi creare le tue creazioni, allora si, puoi fare quello che vuoi. Stavo lavorando partendo dal presupposto che l'OP non controllasse la build di Android sul dispositivo. :) –
Grazie per le vostre risposte. Buon suggerimento per provare e compilare dal sorgente e modificare il quadro. Suppongo che per la mia ricerca posso evitare di farlo e raccogliere i miei dati in un altro modo (il che farà risparmiare tempo), anche se speravo che fosse possibile una dimostrazione del concetto. – pypmannetjies
Beh, è molto molto limitato ma si potrebbe utilizzare i AccessibilityEvents su uno sfondo di servizi per monitorare in bilico e lo schermo ad esplorare, ma ancora una volta è molto limitata, ma non richiede di ottenere qualsiasi permesso speciale o la magia da google o costruire il tuo haha ROM, spero che questo aiuti :)
Penso che puoi. Ho già installato un'app che, dal mio computer, può attivare il satellite GPS anche se era deselezionata e può bloccare lo schermo dal PC. Il nome dell'app è [AVG] (https://play.google.com/store/apps/details?id=com.antivirus&feature=nav_result#?t=W251bGwsMSwxLDMsImNvbS5hbnRpdmlydXMiXQ ..) –
Hai provato a utilizzare un servizio in background? –
Grazie Adel, ma non penso che sia lo stesso tipo di problema. Voglio tenere traccia degli eventi che accadono nelle app utilizzando un'altra app in esecuzione sul telefono stesso. – pypmannetjies