Android之scheme使用
生活随笔
收集整理的這篇文章主要介紹了
Android之scheme使用
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1.準(zhǔn)備Html文件 - 將其拷貝進(jìn)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]">啟動(dòng)應(yīng)用程序</a> --><!-- scheme:判別啟動(dòng)的App --><!-- host:主機(jī) 沒(méi)有也可以 --><!-- path:傳值時(shí)必須的key 沒(méi)有也可以 --><!-- query:獲取值的Key和Value 沒(méi)有也可以 --><a href="zkweb://zk/webjump?name=zhangsan&age=27">啟動(dòng)應(yīng)用</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設(shè)置 --><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名稱(chēng)只能由小寫(xiě)字母構(gòu)成,最好不要有數(shù)字及其他符號(hào),筆者這里原來(lái)寫(xiě)的zk_web調(diào)試了半天不能跳轉(zhuǎn)。嚶嚶嚶~
3.打開(kāi)SDCard中Html文件 - 啟動(dòng)應(yīng)用?
//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.實(shí)用說(shuō)明
A. 一般實(shí)際開(kāi)發(fā)中配置 android:scheme名稱(chēng) + 自定義數(shù)據(jù)格式數(shù)據(jù),比如:
<a href="scheme名稱(chēng)://URLEncoder.encode(json數(shù)據(jù))">測(cè)試跳轉(zhuǎn)</a>B.實(shí)際開(kāi)發(fā)中用scheme傳參數(shù)避免不了中文亂碼問(wèn)題,一般直接跟前端開(kāi)發(fā)約定,拼接好所有待傳數(shù)據(jù),使用URLEncoder.encode()處理整體數(shù)據(jù),客戶(hù)端接收到scheme數(shù)據(jù)后再通過(guò)URLDecoder.decode()處理,從得到原始數(shù)據(jù)。
總結(jié)
以上是生活随笔為你收集整理的Android之scheme使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python 化学_rdkit 化学反应
- 下一篇: Android开发的参考书籍和参考网站