Android為TV端助力 deep link(深度鏈接)與自定義協議!


此自定義僅供參考!

首先打開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屬性和所有的路徑屬性都會被忽略。
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM