程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> android deep link(深度鏈接)與自定義協議!,androiddeep

android deep link(深度鏈接)與自定義協議!,androiddeep

編輯:JAVA綜合教程

android deep link(深度鏈接)與自定義協議!,androiddeep


此自定義僅供參考!

首先打開androidManifest.xml

在MainActivity中添加如下內容:

<activity android:name=".MainActivity">
    ......
  <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:scheme="com.example.androidtest"
       />
  </intent-filter>
</activity>
其中data標簽裡面android:scheme用於指定協議,類似於http這樣的東西,這裡我們指定成了com.example.androidtest,
這是一個自定義的協議,指定成這樣是為了避免和其它的應用程序沖突.
我們還可以通過android:host來指定域名,android:port來指定端口,android:path來指定路徑,
這些屬性都可以對deep links進行更多的限制,要滿足特定條件才能打開指定App.
順便說下https://www.baidu.com/s?cl=3&wd=deeplink 拆分的意思對應下面的
scheme://host:port/pathorpathPrefixorpathPattern
https表示加密的協議 對應android data標簽裡面的scheme
www.baidu.com 表示域名 對應data標簽裡面的host
s 表示端口 對應data標簽裡面的port
cl=3&wd=deeplink 表示path路徑 對應data標簽裡面的path
這些屬性是可選的,但也是相互依賴的。如果沒有給Intent過濾器指定scheme屬性,那麼所有其他的URI屬性都會被忽略。如果沒有給過濾器指定host屬性,那麼port屬性和所有的路徑屬性都會被忽略。
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved