Как различить, вызванные 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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