Android之scheme使用
生活随笔
收集整理的這篇文章主要介紹了
Android之scheme使用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.準備Html文件 - 將其拷貝進SDCard
<!DOCTYPE html> <html><head><meta charset="UTF-8"><meta name="viewport" content="initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0,user-scalable=no,target-densitydpi = medium-dpi,viewport-fit=cover"><meta name="format-detection" content="telephone=no"><meta name="apple-touch-fullscreen" content="YES"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-status-bar-style" content="black"><meta http-equiv="X-UA-Compatible" content="ie=edge"> </head><body><!-- <a href="[scheme]://[host]/[path]?[query]">啟動應用程序</a> --><!-- scheme:判別啟動的App --><!-- host:主機 沒有也可以 --><!-- path:傳值時必須的key 沒有也可以 --><!-- query:獲取值的Key和Value 沒有也可以 --><a href="zkweb://zk/webjump?name=zhangsan&age=27">啟動應用</a><br/></body></html>2.AndroidManifest.xml配置
<activity android:name="com.xxx.MainActivity"android:exported="true"android:launchMode="singleTask"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter><!-- scheme設置 --><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="zkweb"/></intent-filter> </activity>注意:?scheme名稱只能由小寫字母構成,最好不要有數字及其他符號,筆者這里原來寫的zk_web調試了半天不能跳轉。嚶嚶嚶~
3.打開SDCard中Html文件 - 啟動應用?
//scheme Intent intent = getIntent(); String action = intent.getAction(); if (Intent.ACTION_VIEW.equals(action)) {Uri uri = intent.getData();if (uri != null) {String name = uri.getQueryParameter("name");String age = uri.getQueryParameter("age");Log.e(getClass().getSimpleName(), "name=" + name + " age=" + age);} }日志輸出:2022-02-22 16:43:12.540 24569-24569/com.xxx E/MainActivity: name=zhangsan age=27
4.實用說明
A. 一般實際開發中配置 android:scheme名稱 + 自定義數據格式數據,比如:
<a href="scheme名稱://URLEncoder.encode(json數據)">測試跳轉</a>B.實際開發中用scheme傳參數避免不了中文亂碼問題,一般直接跟前端開發約定,拼接好所有待傳數據,使用URLEncoder.encode()處理整體數據,客戶端接收到scheme數據后再通過URLDecoder.decode()處理,從得到原始數據。
總結
以上是生活随笔為你收集整理的Android之scheme使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python 化学_rdkit 化学反应
- 下一篇: 为什么无人机测量主流现在都不用RTK技术