通过scheme协议启动app
生活随笔
收集整理的這篇文章主要介紹了
通过scheme协议启动app
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?
目錄
scheme協議定義
scheme協議的格式
scheme協議的使用
示例
scheme協議定義:
scheme是一種頁面內跳轉協議,通過這個協議可以比較方便的跳轉到app某一個頁面。
scheme協議的格式:
[scheme]://[host]/[path]?[query]?
scheme?代表該Schema 協議名稱
host?代表Schema所作用的地址域
path?代表Schema指定的頁面
query 要傳遞的參數
scheme協議的使用:
以Android端為例,使用scheme協議需要在target頁面,也就是需要跳轉到的頁面添加一個新的action-view類型的intent-filter過濾器。并且這個過濾器和該頁面下的其他過濾器是同級別的,也就是說不能使用已經定義的其他過濾器作為scheme協議的過濾器。代碼如下
<activity android:name=".activitys.MainActivity"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter><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="app"android:host="com.app.test"//可以不寫android:path="/SplashActivity"//可以不寫/></intent-filter> </activity>可以看到,新添加的過濾器中需要同時定義DEFAULT和BROWSABLE兩個category標簽,而且path標簽需要以‘/’開頭。
示例:
瀏覽器通過scheme協議調起app
編寫一個簡單的html頁面并且部署到本地服務器,頁面內容如下:
<a href="app://com.app.test">打開app</a>這里只寫了scheme和post兩部分,也可以只寫scheme或者把path和參數之類的也寫上,除了scheme之外其他的內容都不是必須的。如果不包含scheme信息,那么將會導致跳轉失效,因為找不到相關協議。
通過其他APP跳轉
ntent intent = new Intent(Intent.ACTION_VIEW,Uri.parse("app://com.app.test")); startActivity(intent);?
總結
以上是生活随笔為你收集整理的通过scheme协议启动app的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言知识点--define的替换列表为
- 下一篇: Html中的span与a的区别,a标签和