查看某人是否仍在使用该应用程序的最佳方法是什么?

时间:2018-07-12 20:03:48

标签: react-native mobile

这里是问题:我有一个React-Native / Redux应用程序。我需要确保在X分钟不使用应用程序后可以锁定屏幕(实际上是显示模式)(理论上有人可能一直在“打开”屏幕,所以我不能依靠屏幕自行关闭)。 / p>

我建议的解决方案:我想检测任何触摸事件何时发生。除了重置setTimeout之外,我不想干扰他们或对此无所适从。但是我只想知道何时触摸屏幕。

显示模态本身不是问题,已经可以使用了。如果应用由于任何原因离开前台,我也可以显示模态。我只需要超时即可。

我已经尝试过使用可包装整个UI的TouchableWthoutFeedback,并且sorta可以工作,但是当Touchable在组件树的下方并处理该事件时,它不会接收任何事件。但是我也只使用了onPressIn,但不确定是否可以根据需要使用它。我已经简要地看过PanResponder,但这看起来比我可能需要的复杂得多?还不确定那个。

我愿意接受其他建议,但我能想到的唯一一件事是在应用程序中执行几乎所有其他操作(即使我尚未创建的其他操作),也向redux旗杆发送了一个调度,这似乎笨拙并且容易出错。

这可行吗?如果没有,我有什么选择?

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。这是在包含的View上添加一个onStartShouldSetResponderCapture回调作为道具。我可以在此回调中返回false,但仍然注意到所有通过的触摸事件。 Capture部分很重要,因为它使您可以在“真正的”可触摸对象接触事件之前对其进行访问。

然后,在回调中,我清除并重新创建计时器。