
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;
}
干货!
从其他APP跳转到自家APP,从APP中接入的三方公司的SDK跳转的自己写的页面,都可以用到这个方法!
第一步,在AndroidManifestxml中,activity标签下:
第二步,在需要发起跳转的地方:
第三部,在需要打开的目标页面:
获取到需要的数据(10086)
可以通过获取到的10086,继续进行 *** 作:
(俗话说文章不配图,香味少一半)
该效果是A应用使用scheme方式调起B应用,并且在B应用中获取到A应用传来的信息。
第一种是通过Intent使用类的路径名进行跳转,第二种就是通过scheme方式跳转了。那scheme跳转可以使用在哪些场景下呢?可以有如下场景:
scheme使用的Uri的拼接规则,形如 scheme://authority/pathparam1¶ms2 ,
这里scheme和authority是必须要有,其余可以没有,params为各个键值对参数。
具体例如: myscheme://domain/pathtype=0&content=12345678 。
在被调起的目标Activity中的onCreate方法中,通过
获取整个Uri的内容,然后根据所需截取参数值。
好啦就到这了,最简单是使用教程
Android中的Scheme是一种页面跳转协议,和网站通过URL的形式访问一样,APP同样可以通过这种方式进行跳转,它可以很方便的满足我们在一些场景中的需求:
所属:
URL是一种资源定位器和根据协议建立的约束规则与资源通信的读写机制,用于定位、读写资源。
所属:
URI仅仅是资源名称,知道了URI最多就是知道有这么一个名称的资源,也就是说URI只能定位资源。
所属:
Uri是URI的“扩展”以适应Android系统的需要,Uri类是一个不可改变的URI引用,包括一个URI和一些碎片,Android上可用的每种资源 - 图像、视频片段等都可以用Uri来表示。
在Android中我们使用Uri
进一步划分:
上边的解释是抄来的
出处在此
模拟点击链接获得链接中的参数
AndroidManifest中设置增加拦截器(intent-filter),设置scheme
设置链接
在SchemeActivity中通过重写onNewIntent方法获取参数
Log如下:
这里的” chicha://domain/pathparams ”就是服务器下发的跳转路径,当我们执行startActivity的时候就会调起SchemeActivity,然后我们通过在SchemeActivity解析scheme的内容,跳转相应的页面。
首先在app中设置scheme,如下图所示:
data包含属性如下:
1scheme
2host
3port
4path
5pathPattern
6pathPrefix
7ssp
8sspPattern
9ssPrefix
除了scheme后面的都是可选项。
例如:testscheme://lmcom:8080/mainid=2&name=lbm
lmcom代表是host域名,8080端口号port,main为path,
后面的为query参数。
从h5页通过scheme跳转app方式为:
如图第三个a标签。
只要android中配置的scheme与a标签中的testapp2相同就可以调起。a标签中有域名和端口号,path,和参数。android app中只配置了scheme,只要scheme匹配就可以调起。h5配置的参数也可以在activity中获取。获取方式为:
获取的query就是号后面的参数。如果andrid只配置了schemeh5可以写域名端口好及其他的参数,也能调起。
第一步,获取健康码 URL Scheme。
打开 “支付宝”,找到 “健康码” 并进入,点击 “立即查看” 进入下一页,再点击右上角 “”,选择 “添加到桌面”,然后会打开 Safari 浏览器,此时可以复制 URL,粘贴到备忘录找出 appId(比如,北京健康宝 appId 是 2021001135679870),填入下面的 URL Scheme 里面:
alipays://platformapi/startappappId=
(比如,北京健康宝的 URL Scheme 就是)
alipays://platformapi/startappappId=2021001135679870
第二步,新建 “健康码” 快捷指令。
打开 “快捷指令”,点击 “+” 号新建,先添加 *** 作 “URL”,内容就是上一步的 URL Scheme,然后添加 *** 作 “打开 URL”,下一步输入名称 “健康码”,点击完成。
第三步,双击背面运行快捷指令。
打开设置 --> 辅助功能 --> 触控 --> 轻点背面 --> 轻点两下,然后找到快捷指令 “健康码”,终于大功告成。
现在,请双击手机背面,一下子就打开了路径很深的健康码。
如果是用该用户登录使用以下语句:
SELECT *
FROM USER_TABLES;
如果是用其他用户(在dba权限下):
SELECT *
FROM ALL_TABLES WHERE OWNER='USER_NAME'
扩展资料:
select * from all_tab_comments -- 查询所有用户的表,视图等。
select * from user_tab_comments -- 查询本用户的表,视图等。
select * from all_col_comments --查询所有用户的表的列版名和权注释。
select * from user_col_comments -- 查询本用户的表的列名和注释。
select * from all_tab_columns --查询所有用户的表的列名等信息。
select * from user_tab_columns --查询本用户的表的列名等信息。
以上就是关于Android URL Scheme唤醒之门全部的内容,包括:Android URL Scheme唤醒之门、Android 利用scheme协议进行跳转、Android使用scheme跳转App并传值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)