实际上,我正在使用react-navigation 3.1.5在react-native 0.58上开发一个应用程序,我无法使我的应用程序正常运行。
这是我的代码:
APP-navigation.js
const MainStack = createBottomTabNavigator({
Home: { screen: Home },
Pets: { screen: Pets, path: 'spidersecurity://terque/pets' },
Notifications: { screen: UserNotifications },
UpdateUser: { screen: UpdateUser },
});
const AppStack = createStackNavigator({
MainStack: { screen: MainStack, path: '' },
PetStack: { screen: PetStack }
});
const Main = createSwithNavigator({
App: { screen: AppStack, path: '' }
});
基本上这是我的导航结构。我已将AndroidManifest.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="spidersecurity" android:host="terque" />
</intent-filter>
而且,当我打开一个地址为spidersecurity://terque/pets
的链接时,此链接会打开应用程序,但它不会导航到指定的屏幕。我不知道自己做得不好,但我读过很多页面和博客都没有成功。
注意:我被验证是否'spidersecurity:// terque / pets'是路由匹配,因为我在获取链接时向我的代码添加了
console.log
我刚刚创建了一个例子并确认它仍在工作;
也许您已经使用Chrome on android
进行测试,但Chrome无法打开该应用;在这种情况下,您可以在这里阅读更多相关信息:https://developer.chrome.com/multidevice/android/intents
Chrome已将其行为更改为deeplink
你可以查看我的简单演示;在这种情况下,我只是做了一个非常简单的path
https://github.com/tranquan/rn-deeplink-demo