React Native Android - глубокая ссылка на URL не прошла - PullRequest
0 голосов
/ 29 января 2019

У меня есть глубокие ссылки, чтобы работать на базовом уровне с нашим родным приложением React, используя превосходное учебное пособие по https://medium.com/react-native-training/deep-linking-your-react-native-app-d87c39a1ad5e. Работает на 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.Поэтому, пока приложение снова открывает приложение, я не могу определить, куда оно должно пойти из-за этого.Я добавил следующее намерение 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>

Я попытался указание андроида: атрибут узла внутри узла данных, но URL до сих пор упорно оставались пустыми.Может кто-нибудь сказать мне, что еще мне нужно сделать?

...