Как я могу запустить функцию КАЖДОГО действия пользователя? - PullRequest
0 голосов
/ 12 сентября 2018

Я работаю над приложением React Native kiosk, которое будет работать на планшете Android, установленном на стене.Мы хотели бы реализовать функцию «экранной заставки» - если пользователь не прикоснулся к экрану в течение 30 секунд, мы хотим перейти к красивому экрану-заставке, а затем переключиться обратно на основной интерфейс, когда коснитесьscreen.

У меня проблемы с сбросом таймера обратного отсчета "заставки".В Интернете я бы справился с этим с помощью обработчика щелчка или перемещения мыши возле корня приложения, которое отправляется каждый раз, когда пользователь что-то делает, что-то вроде ...

let timeout = setTimeout(startScreenSaver, 30000);
document.body.addEventListener("click", () => {
  clearTimeout(timeout);
  setTimeout(startScreenSaver, 30000);
});

Есть ли способ сделатьчто-то похожее в React Native?

1 Ответ

0 голосов
/ 12 сентября 2018

Вы можете установить опору onTouchStart для корневого компонента представления, событие происходит всякий раз, когда вы касаетесь представления.

Например,

onTouchStart = () => {
   clearTimeout(timeout);
   setTimeout(startScreenSaver, 30000);
}

render() {
  <View onTouchStart={this.onTouchStart}>
    ...
  </View>
}
...