У меня есть глубокие ссылки, чтобы работать на базовом уровне с нашим родным приложением 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 до сих пор упорно оставались пустыми.Может кто-нибудь сказать мне, что еще мне нужно сделать?