反应本地深层链接

时间:2019-05-29 13:20:38

标签: android react-native

我在compontentDidMount上运行以下代码块,以检测来自Web浏览器的传入深层链接。

    // Search for deep links
    if (Platform.OS === 'android') {
      Linking.getInitialURL().then((url) => {
        this.navigate(url);
      });
    } else {
      Linking.addEventListener('url', this.handleOpenURL);
    }

我的问题是,每当我单击一个在后台运行的应用程序的链接时,我就需要能够检测到新单击的链接。

我正在运行此功能:

handleAppStateChange = (nextAppState) => {
    if (nextAppState === 'active') {
     if (Platform.OS === 'android') {
       Linking.getInitialURL().then((url) => {
         this.navigate(url);
       });
     } else {
       Linking.addEventListener('url', this.handleOpenURL);
     }
    }
  }

但是,此操作将加载单击以触发应用程序首先加载的任何链接。

有人可以帮助我确定如何检测在后台运行的应用程序中浏览器中单击的链接吗?

1 个答案:

答案 0 :(得分:0)

添加eventListener,无论是Android还是iOS。当应用程序在后台运行时,将触发该事件。只有Android才需要获取Linking.getInitialURL()。