2013-08-19 3 views
1

Для исследования, которое я делаю, мне нужно каким-то образом отслеживать пользовательские касания, когда они используют телефон в повседневной повседневной жизни. Пользователь будет полностью осведомлен о том, что они записывают. Любой способ сделать это будет здорово.Журналы данных касания Android

Что я пробовал до сих пор?

Способ 1. Создайте услугу с прозрачным видом наложения.

Задача Из-за очевидных недостатков безопасности это предотвращается, начиная с ICS. Входные данные на прозрачном представлении не переносятся на задний план и, следовательно, пользователь не может нормально взаимодействовать с телефоном. Я пробовал различные методы с оверлейным представлением, определяющим как тип телефона, либо системный сигнал типа или переключение между ними во время выполнения программы.

Способ 2. Вид с 1% размер экрана делает с прикосновением вне модели

Проблема как проблема, как предыдущий. Прикосновение снаружи возвращает только если событие касания произошло снаружи, даже не начальные координаты x, y.

Есть другие методы, которые я пробовал, но они выделены. В настоящее время я думаю о других вариантах:

Вариант 1 - Опция расположения указателя в опциях разработчика: В настройках есть этот параметр расположения указателя, который я могу использовать. Когда эта опция включена, вся информация о касании отображается на верхней панели. Если после этого я смогу получить доступ к этим данным, это тоже будет хорошо, несмотря на то, что на экране будут отображаться рисунки, когда пользователь пользуется телефоном. Я проследил исходный код ICS и нашел основной класс, который делает возможным отслеживание. Я воссоздал этот класс в службу. Logcat показывает всю информацию о касании, когда я запускаю ее из приложения. Только проблема такая же, как проблема 1. Я не могу отследить ее за пределами текущего приложения. Таким образом, если он регистрирует информацию отслеживания, даже когда включена опция указателя, как можно будет получить информацию позже?

Этот вариант кажется самым простым.

Вариант 2 - Android NDK Если выше метод невозможен, можно ли это сделать с помощью NDK? Правильное направление к этому маршруту также велико.

Вариант 3 - Пользовательский ПЗУ Нужно ли мне, если это сделать, сделать Custom ROM? Я уверен, что это 100% -ный способ сделать это. Но в этом конкретном исследовании это кажется очень непрактичным.

Я был бы признателен за любое предложение по пути, которому я могу следовать. Спасибо всем заранее.

ответ

1

Вы можете использовать укороченные телефоны и RepetiTouch для своих исследований. https://play.google.com/store/apps/details?id=com.cygery.repetitouch.free

+0

Это действительно похоже на одно решение. У меня есть зарезервированное решение, если я не могу найти другой метод, который может потребовать не подделка телефона. Просто надеюсь и посмотри ... Но спасибо за ссылку. –