2017-03-24 17 views
1

React Nativeアプリが別のアプリからURLインテントを受信できるようにします。たとえば、QRコードスキャナーでURLをスキャンして開きたい場合、インストールされているブラウザの中にReact Nativeアプリも表示されます。React Native:他のAndroidアプリからインテントを受信して​​いません

IはLinkingの命令に続く:

  • Linking documentationに示すように、私はcomponentDidMount()を実装します。 android/app/src/main/AndroidManifest.xml
  • それはこのようになりまし見えるように、私は、the Android docsに応じ<intent filter>セクションを編集した:

    <intent-filter> 
        <action android:name="android.intent.action.MAIN" /> 
        <category android:name="android.intent.category.LAUNCHER" /> 
        <category android:name="android.intent.category.BROWSABLE" /> 
        <data android:scheme="http" 
         android:host="www.example.com" 
         android:pathPrefix="/gizmos" /> 
    </intent-filter> 
    

がこれをやってしまってから、私は私のQRスキャナでhttp://www.example.com/gizmosをスキャンした後のことを期待し、それを開こうとすると、スキャナーは私にReact Nativeアプリも提供します。ただし、以前にインストールしたブラウザのみが表示されます。

私の期待は間違っていますか?あるいはこれを実現させるために何かできますか?

答えて

1

それはアクションandroid:name="android.intent.action.MAIN"をキャッチするのに十分ではないのですが、あなたはandroid:name="android.intent.action.VIEW"

<intent-filter> 
    <action android:name="android.intent.action.VIEW" /> 
    <category android:name="android.intent.category.DEFAULT" /> 
    <category android:name="android.intent.category.BROWSABLE" /> 
    <data android:host="www.example.com" android:scheme="http" /> 
</intent-filter> 
をキャッチする必要があります
関連する問題