React Native Navigation V2:在AppState.Background上打开叠加并更新应用快照(iOS)

时间:2018-11-07 09:54:25

标签: ios react-native react-native-navigation react-native-navigation-v2

我试图在用户关闭应用程序后“锁定”该应用程序-重新打开时要求输入TouchID / FaceID或代码。可以通过以下方式正常工作:

const onAppStateChange = (nextAppState: string) => {
  if (nextAppState === 'background') {
    Navigation.showOverlay({
      component: {
        name: 'overlayName',
      },
    });
  }
};

AppState.addEventListener('change', onAppStateChange);

我唯一的问题是应用程序的快照(iOS上的多任务视图中显示的图像)不包含叠加层,因为它是在添加叠加层之前生成的。

在这里找到了对[view snapshotViewAfterScreenUpdates:YES];的引用:https://developer.apple.com/library/archive/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/StrategiesforHandlingAppStateTransitions/StrategiesforHandlingAppStateTransitions.html#//apple_ref/doc/uid/TP40007072-CH8-SW27

但是在我可以在RN-land中添加叠加层之前,也触发了UIApplicationDidEnterBackgroundNotification的iOS事件处理程序。真的很想在JS端处理此问题(添加叠加层)。

此外,我目前仅关注iOS,但针对Android的解决方案也不错。

0 个答案:

没有答案