Ale*_*x L 5 android reactjs react-native
我想在应用程序在后台打开时打开 React Native Android 深层链接。以下是我处理其他类似案例的方法:
iOS App 在后台打开:
Linking.addEventListener('url', this.handleOpenURL);
iOS 应用程序在后台关闭
Linking.getInitialURL().then(url => this.handleOpenURL({ url }));
Android 应用程序在后台打开: ? - 处理此案的最佳方法是什么?
Android 应用程序在后台关闭:
Linking.getInitialURL().then(url => this.handleOpenURL({ url }));
React Native Linking 似乎不适用于在后台运行的 android。您可以使用本机 Android 代码来解决此问题。在主活动中重写方法如下:
@Override
public void onNewIntent(Intent intent) {
if(intent.getData() != null) {
Uri deepLinkURL = intent.getData();
DeepLink deepLink = new DeepLink(deepLinkURL.toString());
}
}
Run Code Online (Sandbox Code Playgroud)
然后你需要做的就是将此 java 代码与 React Native javascript 集成。这可以通过本机反应 - 本机模块来完成。网站上有一些关于它的文档。为了使其成为更有效的解决方案,您可以使用http://square.github.io/otto/之类的东西来创建一个监听该深度链接对象的事件总线。然后,一旦事件发生,深度链接事件就会有效地触发。我希望这对人有帮助:)