2017-03-24 116 views
1

我希望我的React Native應用程序能夠從其他應用程序接收URL意圖。因此,例如,當我使用QR代碼掃描器掃描URL並想要打開它時,我安裝的瀏覽器中也會出現我的React Native應用程序。React Native:未接收其他Android應用程序的意圖

我跟着的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> 
    

這樣做之後,我預計,掃描http://www.example.com/gizmos我QR掃描後試圖打開它,掃描儀會爲我提供我的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> 
相關問題