2017-08-18 57 views
0

我在清單文件中使用了以下意圖過濾器的深度鏈接概念。如何從外部應用程序如WhatsApp或Facebook點擊鏈接時啓動我的Android應用程序?

<activity 
     android:name=".MyActivity" 
     android:screenOrientation="portrait" 
     android:windowSoftInputMode="stateAlwaysHidden" > 
     <intent-filter android:label="@string/app_name"> 
      <action android:name="android.intent.action.VIEW" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
      <category android:name="android.intent.category.BROWSABLE" /> 
      <data 
       android:host="test.myapp.com" 
       android:scheme="http" 
       /> 
     </intent-filter> 
    </activity> 

這有助於我在什麼應用上點擊鏈接時,顯示我的應用程序, 但它顯示了在像鉻列表中的其他應用程序,互聯網等 我怎樣才能讓只能直接鏈接點擊後訪問我的應用程序在其他應用程序,如最新的應用程序?

回答

1

我唯一的想法是添加一個意圖過濾器,該過濾器在設備打開特殊URL(例如www.your-project.com)時啓動您的應用程序。看看這個 documentation它解釋了所有社交網站鏈接到您的應用程序。

如果用戶安裝了您的應用程序,點擊該鏈接將打開您的應用程序。否則,鏈接將由您的默認瀏覽器打開。

0

您只想從Android 6.0中實現,在Android 6.0中,您可以繞過Intent選擇器對話框,然後直接點擊鏈接啓動應用程序。

爲此,請檢查此App link文檔。他們已經很好的解釋如何做到這一點

,你也有可能通過添加參數android:autoVerify="true"

<activity ...> 

<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="http" android:host="www.example.com" /> 
    <data android:scheme="https" /> 
</intent-filter> 

作出如下圖所示的意圖過濾稍作修改
相關問題