一段时间后锁定 React Native 应用程序

Locking a React Native App After an Amount of Time

我正在开发一个 React Native 应用程序,该应用程序在登录时和每次应用程序启动时(不再在后台活动)显示密码屏幕。每次用户在后台离开应用程序超过 5 分钟时,我都想显示此密码屏幕。此应用程序将部署在 Android 和 iOS。

查看搜索结果显示了可能提供此功能的第三方库的选项。有没有一种不需要借助第三方工具就能做到这一点的方法?

您可以尝试实现 AppState 更改事件

AppState.addEventListener('change', onAppStateChange);

let lastTimestamp = 0;
function onAppStateChange(state) {
  if (state === 'background') {
    // Store current time
    lastTimestamp = Date.now();
  } else if (state === 'active') {
    if (Date.now - lastTimestamp > 5 * 60 * 1000) {
       // Show you pin code screen
    }
  }
}

// Remember to remove listener when you don't need it
AppState.removeEventListener('change', onAppStateChange);

您可以使用 PanResponder 从本机导入 PanResponder 在您的构造函数中添加以下内容

this. panResponser = PanResponder.create({
        onStartShouldSetPanResponderCapture: () => {
            let now = new Date().getTime();
            if (now < your_desired_expiry_time) {
                let newTime = new Date().getTime() + your_logout_time_in_milliseconds;
                //now you can update your expiry time with newTime
            }
            else {
                //go back to login
            }
        }
    })

用法

<View {...this.panResponser.panHandlers}>

   ...your other views
</View>