React Native Android深层链接URL没有通过

时间:2019-01-29 17:24:11

标签: android react-native deep-linking

我已经使用https://medium.com/react-native-training/deep-linking-your-react-native-app-d87c39a1ad5e上的出色教程与我们的React本机应用程序进行了深层次的链接,以在基本级别上工作。在iOS上可以正常使用,但是在Android上,当我链接回我的应用程序时,URL似乎没有传递回去:

class App extends Component {
  componentDidMount() {
    if (UtilsCommon.isNative) {
      RNSplashScreen.hide();
      if (UtilsCommon.isIos) {
        Linking.addEventListener("url", this.handleOpenURL);
      } else {
        console.log("registering deep linking on Android");
        Linking.getInitialURL().then(url => {
          console.log("url", url);
        });
      }
    }
  }

  componentWillUnmount() {
    Linking.removeEventListener("url", this.handleOpenURL);
  }

  handleOpenURL = event => {
    console.log(event.url);
  };

因此,在iOS上,从测试页返回的链接很高兴地进入handleOpenURL,我看到链接的整个URL都出现在控制台中。但是,在Android上,我们总是将url设为null。因此,尽管它重新打开了该应用程序,但由于这个原因,我无法确定该去哪里。我向AppManifest.xml添加了以下意图:

    <intent-filter android:label="filter_react_native">
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <data android:scheme="myapp" />
    </intent-filter>

我尝试在数据节点内部指定android:host属性,但该URL仍然顽固地保持为null。谁能告诉我我还需要做什么?

0 个答案:

没有答案