博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何通过超链接打开Activity并传入参数
阅读量:6447 次
发布时间:2019-06-23

本文共 2011 字,大约阅读时间需要 6 分钟。

 
通常如果我们在程序中要打开一个url,一般是借助于浏览器来打开,但用户手机上会安装多个浏览器,Android做的比较智能,把选择权让给了用户,让用户选择用哪个浏览器来打开
程序代码通常如下,指明了action、category和data uri
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.baidu.com"));             intent.addCategory(Intent. CATEGORY_BROWSABLE);             intent.addCategory(Intent. CATEGORY_DEFAULT);             startActivity(intent);
浏览器应用要想处理这个请求动作的话,那么它的Activity可能要做如下一些配置
上面是一些最基本的配置,说明了它能够处理VIEW action,BROWSABLE和DEFAULT类别,uri scheme为http和https的Intent,我们可以定义自己的uri scheme以便能处理除常规外一些特定的data uri scheme
代码中的Intent编写为
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("myscheme://www.baidu.com"));             intent.addCategory(Intent. CATEGORY_BROWSABLE);             intent.addCategory(Intent. CATEGORY_DEFAULT);             startActivity(intent);
基于前面的一些介绍,我们知道在代码中我们肯定是可以通过我们自己的scheme来打开一个Activity的,那通过一个超链接是否也能做到呢,让人欣喜的是Android系统提供了这种功能
Activity <intent-filter>配置如下
下面是一个html页面,通过uri(scheme为我们自定义的scheme:my.special.scheme)往Activity传入了两个参数
default
当点击超链接时,相应的Activity就能获取到data uri了
Uri data = getIntent().getData();             String scheme = data.getScheme();             String host = data.getHost();             List
params = data.getPathSegments(); String first = params.get(0); String second = params.get(1); LogUtil. i("INFO", "param1 : " + first + " param2 : " + second + " scheme : " + scheme + " host : " + host);
Activity中打印数据如下
05-10 16:00:27.090: I/INFO(2798): param1 : param1   param2 : param2   scheme : my.special.scheme   host : 192.168.2.126
 

 

你可能感兴趣的文章
8.使用Xshell5密钥登录liunx
查看>>
zookeeper NIOServerCnxn: Too many connections from
查看>>
mysql数据库-简述
查看>>
keepalived+nginx实现双机热备
查看>>
linux远程登录ssh免密码
查看>>
Dojo学习笔记(八):Dojo布局——面板
查看>>
linux挂载ntfs
查看>>
SQLServer判断指定列的默认值是否存在,并修改默认值
查看>>
heartbeat+drbd+mysql:实现最廉价的高可用组合
查看>>
解决NGINX+PHP-FPM failed to ptrace(PEEKDATA) Input/output error出错问题
查看>>
splice和sendfile
查看>>
基于rsync+inotify实现数据实时同步传输
查看>>
【No.11 默认实参的匹配】
查看>>
一键生成表结构说明文档的参考,数据字典生成方式参考
查看>>
CCNP课堂练习一:详解交换机vlan的介绍及通过交换机从逻辑上划分区域配置
查看>>
awk实际应用:文本合并
查看>>
Silverlight发布时的优化工作(2)
查看>>
Visual Studio 2010 Ultimate测试体系结构
查看>>
推荐《认知与设计——理解UI设计准则》读书笔记
查看>>
Windows 2003 AD升级至Windows 2012 AD之DHCP服务器迁移
查看>>