2017-02-17 1 views
2

Я хочу открыть React Native Android deeplink, когда приложение открыто в фоновом режиме. Вот как я обрабатывать другие подобные случаи:Как открыть React Native Android deeplink, когда приложение открыто в фоновом режиме?

IOS App работает в фоновом режиме: 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

РЕАКТ родной Linking не похож на работу с андроидом работает в фоновом режиме. Вы можете решить это, используя собственный код Android. В основной деятельности переопределить метод так:

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

Что вам нужно сделать, это включить этот Java код с среагировать родной JavaScript. Это можно сделать с помощью реагирующих на родных модулей. На веб-сайте есть документация. Чтобы сделать это более эффективным решением, вы можете использовать что-то вроде http://square.github.io/otto/ для создания шины событий, которая прослушивает этот объект deeplink. Затем событие deeplink будет эффективно срабатывать после возникновения события. Я надеюсь, что это помогает человеку :)

+0

Я сталкиваюсь с той же проблемой, и я новичок в Android. Не могли бы вы рассказать нам, откуда «DeepLink»? Это просто библиотека Android или сторонняя библиотека, и как ее получить? Спасибо –

+0

Он встроен в реакцию native. Библиотека называется Linking https://facebook.github.io/react-native/docs/linking.html. –