首页 > 解决方案 > 在 React-Native 应用程序上添加隐私视图

问题描述

我正在构建一个 React-Native 应用程序,出于隐私原因,当应用程序进入任务管理器或应用程序进入后台时,我需要隐藏应用程序屏幕的内容。

我正在使用 React-Native在应用程序不活动时隐藏其内容的所有内容之上AppState显示隐私,并在它恢复到活动状态时删除隐私。ViewView

它工作正常。

但是,我注意到inactive当 Touch ID 对话框出现时应用程序变为,它在 Touch ID 过程中显示我的隐私View,这不是我的预期行为。

在此处输入图像描述

小指屏幕是View这里的隐私。

我试图View仅在应用程序状态变为时才显示隐私,background但这发生得太晚了,并且屏幕没有隐藏在任务管理器中。

这就是我的组件的样子:

export default class AppPrivacy extends Component {
  state = {
    enabled: false,
  };

  componentDidMount() {
    AppState.addEventListener('change', this.handleAppStateChange);
  }

  componentWillUnmount() {
    AppState.removeEventListener('change', this.handleAppStateChange);
  }

  handleAppStateChange = (newAppState) => {
    this.setState({ enabled: newAppState !== 'active' });
  };

  render() {
    return (
      this.state.enabled && <View style={styles.container} />
    );
  }
}

我想知道View仅当应用程序进入任务管理器或后台时显示该隐私的最佳方式是什么,而不是当应用程序显示 Touch ID 对话框时?

仅供参考,我react-native-fingerprint-scanner用于 Touch ID。

我还探索了react-native-privacy-snapshot创建隐私视图的包,但不幸的是它的行为方式完全相同。

谢谢!

标签: iosreact-native

解决方案


推荐阅读