Android URL Scheme唤醒之门

Android URL Scheme唤醒之门,第1张

1、scheme的作用

Android的scheme 是一种页面内跳转协议。通过scheme 可以进行页面跳转,可以是app之间的跳转,

也可以是网页和app之间的跳转。

2、scheme的定义

协议://协议地址/端口/路径/参数

scheme://nade/startappdata= "123456"

协议:scheme(可以自定义)

协议地址:(可以自定义)

端口:(可以自定义)

路径:

参数:

3、scheme的使用

1、app内使用:

/

scheme跳转

@param s

/

private void schemeJump(String s) {

if (!checkScheme(s)) {

showToast("页面不存在");

}

Intent schemeIntent = new Intent(IntentACTION_VIEW);

schemeIntentsetData(Uriparse(s));

startActivity(schemeIntent);

}

2、网页内使用

// h5调用

<a href="scheme://nade/startappdata=123456">app目标页面</a>

3、app解析处理

Intent intent = getIntent();

if (intentgetData() != null) {

Uri uri = intentgetData();

//获取uri链接

LogUtilsd("nade",uritoString());

//获取协议

LogUtilsd("nade",urigetScheme());

//获取协议链接

LogUtilsd("nade",urigetHost());

//获取端口

LogUtilsd("nade",StringvalueOf(urigetPort()));

//获取路径

LogUtilsd("nade",urigetPath());

//获取参数

LogUtilsd("nade",urigetQueryParameter("data"));

//获取参数集合

for (String data : urigetQueryParameters("data")) {

LogUtilsd("nade",data);

}

}

/

检测scheme链接是否可用

@param s

@return

/

public boolean checkScheme(String s){

PackageManager manager = getPackageManager();

Intent intent = new Intent(IntentACTION_VIEW);

intentsetData(Uriparse(s));

List<ResolveInfo> uris = managerqueryIntentActivities(intent, PackageManagerGET_RESOLVED_FILTER);

return uris != null && urissize() > 0;

}

服务器端:

String encodeStr = URLEncoderencode("中国", "utf-8");  

Systemoutprintln("处理后:" + encodeStr); 

//处理后:%E4%B8%AD%E5%9B%BD   

客户端:

String decodeStr = URLDecoderdecode(encodeStr, "utf-8");  

Systemoutprintln("解码:" + decodeStr);  

//解码:中国

可使用android自带的>

一般传输参数使用json类型或者map类型都是使用post方法。

使用json数据格式发送信息向服务器端:

>

以上就是关于Android URL Scheme唤醒之门全部的内容,包括:Android URL Scheme唤醒之门、android 接收url的json数据 中文转码、android 怎样获取后台的数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9527867.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存