2016-10-08 19 views
10

こんにちは、私はReact-NativeのLinkingライブラリを使用して、変更のリンクを聞こうとしていましたが、https://facebook.github.io/react-native/docs/linking.htmlの手順に従っています。私はopenURLを使用して外部URLを開くことができますが、Linking.addEventListenerは私にとってはうまくいかないようです。React-Native Linking AddEventListenerが動作しません

componentDidMount() { 
 
    Linking.addEventListener('url', this._handleOpenURL); 
 
}, 
 
componentWillUnmount() { 
 
    Linking.removeEventListener('url', this._handleOpenURL); 
 
}, 
 
_handleOpenURL(event) { 
 
    console.log(event.url); 
 
}

が、それは私にエラーを与えるものではありませんが、アプリは外部のURLを開いたときに_handleOpenURLが呼び出されない: 私は、コードスニペットをコピーしました。

私はこのケースがなぜなのか、それを修正するために何をすべきなのでしょうか?

+0

理解しました、私は同じことに実行しています。 –

+0

私は同じ問題に直面しています。誰にもこれに対する解決策はありますか? – Zip

+0

@FreddieCabreraこんにちは!はい、それはアプリ内のカスタムWebview内でのみ動作するので、Webブラウザでリンクを開くと、リンクするlibはアプリ外で発生したイベントを聴くことができません。リスナーをリンクするのは、アプリ内のwebviewでのみ機能します。 –

答えて

0

これは、アプリケーションがインテントを通じて開始するときにリンクする特定の方法があるからです。

これを試してください:あなたは、問題を

componentDidMount() { 
    Linking.getInitialURL().then((ev) => { 
    if (ev) { 
     this._handleOpenURL(ev); 
    } 
    }).catch(err => { 
     console.warn('An error occurred', err); 
    }); 
    Linking.addEventListener('url', this._handleOpenURL); 
} 
関連する問題