Как различить, вызванные OS, а также APP-сервисные события в Android?Android

Форум для тех, кто программирует под Android
Anonymous
Как различить, вызванные OS, а также APP-сервисные события в Android?

Сообщение Anonymous »

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

Код: Выделить всё

override fun dispatchKeyEvent(event: KeyEvent): Boolean {
Log.d(
"EventCheck",
"KeyEvent: action=${event.action}, keyCode=${event.keyCode}, " +
"deviceId=${event.deviceId}, source=${event.source}, flags=${event.flags}"
)
return super.dispatchKeyEvent(event)
}

// Somewhere else in the code, I simulate an event:
val simulatedEvent = KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_A)
dispatchKeyEvent(simulatedEvent)
Когда я вводит событие программно (DispatchkeyEvent (SimulateEvent)), журнал выглядит почти одинаково.
Я не вижу четкого индикатора, который говорит мне, что «это пришло из OS/Hardware» против «Это вводили код приложения». Внедренные/смоделированные против ОС, сгенерированные OS? Если нет, то единственный надежный способ отличить их, чтобы пометить мои собственные инъекционные события (например, обертывание их или добавление пользовательских метаданных перед отправкой)?

Подробнее здесь: https://stackoverflow.com/questions/797 ... in-android

Вернуться в «Android»