Я выполнил шаги, приведенные в React Native docs для связывания , и мне удалось подобрать URL-адрес, когда приложение «холодным» образом запускается по ссылке. Однако, когда приложение все еще находится в фоновом режиме, обратный вызов в getInitialURL
не срабатывает, когда приложение открывается по ссылке. Я также добавил прослушиватель событий url
, но он никогда не запускается, не запускается холодным способом или иным образом.
(Просто чтобы уточнить: когда я говорю «холодный старт», я имею в виду, когда приложение закрывается либо нажатием кнопки «назад» на Android, либо удалением из режима многозадачности. Я не могу разобраться, когда приложение / действие все еще активно в фоновом режиме, например, когда нажата домашняя кнопка Android или при переходе к другому приложению при нажатии уведомления.)
Как мне справиться с этим делом?
Я использую старую версию реакции-навигации (1.0.0-бета.11), но я добавил обработчик ссылок на более высоком уровне, чем самый родительский StackNavigator
, поэтому я считаю, что не следует это не проблема.
Вот что я сделал до сих пор:
componentDidMount() {
Linking.getInitialURL().then(url => {
console.log('getInitialURL', url)
})
Linking.addEventListener('url', this.handleOpenURL)
}
componentWillUnmount() {
Linking.removeEventListener('url', this.handleOpenURL);
}
handleOpenURL = (event) => {
console.log('handleOpenURL', event)
}
А вот и мой AndroidManifest.xml
:
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="https" android:host="app.example.com" />
</intent-filter>
Заранее спасибо!