2017-02-17 65 views
2

我想在后台打开应用程序时打开React Native Android深层链接。下面是我如何处理其他类似的案件:当应用程序在后台打开时,如何打开React Native Android深层链接?

iOS应用程序是在后台打开: Linking.addEventListener('url', this.handleOpenURL);

iOS应用程序在后台关闭 Linking.getInitialURL().then(url => {return this.handleOpenURL({ url })});

Android应用是在开放背景: ? - 处理这种情况的最佳方式是什么?

的Android应用程序被关闭的背景: Linking.getInitialURL().then(url => {return this.handleOpenURL({ url })});

+0

你是否找到了答案呢?在背景中与android有相同的问题 –

+0

不幸的是没有。 –

+0

我已经在主要活动中使用原生android代码oNewIntent()解决了它。 –

回答

1

的反应本地链接似乎并没有在后台运行Android的工作。您可以使用原生android代码解决此问题。在主要活动覆盖的方法是这样的:

@Override 
public void onNewIntent(Intent intent) { 
    if(intent.getData() != null) { 
     Uri deepLinkURL = intent.getData(); 
     DeepLink deepLink = new DeepLink(deepLinkURL.toString()); 
    } 
} 

你需要做的什么是整合与反应本地JavaScript这个Java代码。这可以通过反应本机模块来完成。网站上有一些文档。为了使它成为更有效的解决方案,您可以使用类似http://square.github.io/otto/的东西来创建侦听该深度链接对象的事件总线。然后,一旦事件发生,深度链接事件就会有效触发。我希望这可以帮助男人:)

+0

我面临同样的问题,并且我是Android新手。你介意告诉我们'DeepLink'来自哪里?它只是android库或第三方库,以及如何获取它?谢谢 –

+0

这是内置的反应原生。该图书馆被称为链接https://facebook.github.io/react-native/docs/linking.html –

相关问题