当应用程序在后台打开时,我想打开一个React Native Android深层链接。以下是我处理其他类似案例的方法:
iOS应用程序在后台打开:Linking.addEventListener('url', this.handleOpenURL);
iOS应用程序在后台Linking.getInitialURL().then(url => this.handleOpenURL({ url }));
关闭
Android应用程序在后台打开:? - 处理这种情况的最佳方法是什么?
Android应用在后台关闭:Linking.getInitialURL().then(url => this.handleOpenURL({ url }));
本机链接反应似乎不适用于在后台运行的android。您可以使用本机Android代码解决此问题。在主活动中覆盖这样的方法:
@Override
public void onNewIntent(Intent intent) {
if(intent.getData() != null) {
Uri deepLinkURL = intent.getData();
DeepLink deepLink = new DeepLink(deepLinkURL.toString());
}
}
你需要做的是将这个java代码与react本机javascript集成。这可以通过本机原生模块做出反应来完成。网站上有一些文档。为了使其成为更有效的解决方案,您可以使用类似http://square.github.io/otto/的内容来创建侦听该deeplink对象的事件总线。一旦事件发生,深度链接事件将有效触发。我希望这有助于男人:)