2015-12-08 118 views
2

我正在尋找解決方案到目前爲止,即當用戶點擊他的郵箱中的鏈接我的應用程序應該打開如果我的應用程序已經安裝在他的設備中而不要求用戶選擇選項只需一次總是 。例如,點擊銀行電子郵件中的URI可能會導致出現一個對話框詢問用戶是使用瀏覽器還是銀行自己的應用程序來打開鏈接,但在我的情況下,我的應用程序應直接打開而不詢問選擇任何選項。 我已經實現了我的應用程序如下: 我的清單文件作爲AndroidManifest.xml中如何通過點擊郵件鏈接直接打開我的應用程序?

<activity android:name=".WelcomeActivity" 
     android:label="@string/app_name"> 
     <intent-filter> 
      <action android:name="android.intent.action.VIEW"></action> 
      <category android:name="android.intent.category.DEFAULT"></category> 
      <category android:name="android.intent.category.BROWSABLE"></category> 
      <data android:host="www.example.com" 
       android:scheme="http" 
       android:pathPrefix="/blog"></data> 
     </intent-filter> 
    </activity> 

我的例子網址是http://www.example.com/blog

我想,如果用戶點擊上面的鏈接,打開我的應用程序。 請幫我帶步驟的示例代碼。

+0

BroadCast Receiver? – Razgriz

+0

我認爲你不能這樣做。因爲這取決於系統和系統將打開你的應用程序,如果它的默認值,否則它會顯示選擇器。 – Arslan

+0

@阿爾斯蘭你可以嗎?點擊twitter應用程序中的youtube鏈接,設備會詢問您是否要使用Chrome或Youtube打開鏈接。 – Razgriz

回答

3

此功能僅適用於至少運行棉花糖(6+)的Android設備,並且在整個Android documentation時引用爲App Link

要完全實現此功能,它需要您擁有相應的url並在此地址添加配置文件:https://www.example.com/.well-known/assetlinks.json。文檔內容在文檔中進行了描述(包含軟件包名稱和簽名)。

然後,修改你的意圖,過濾器遵循啓用auto-verify功能:

<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="www.example.com" android:pathPrefix="/blog" /> 
</intent-filter> 

你一定要閱讀有關此功能的文檔。它包含許多有用的技巧來測試你的實現。

相關問題