从0系统学Android-2.5更多隐式Intent用法
本系列文章,参考《第一行代码》,作为个人笔记
更多内容:更多精品文章分类
从0系统学Android-2.5更多隐式Intent用法
上一节中我们学习了通过隐式 Intent 来启动 Activity。实际上隐式 Intent 还有更多的内容。
使用隐式 Intent 我们不仅可以启动自己程序内符合要求的Activity 还可以启动其他程序中符合要求的 Activity,这也使得 Android 中多个应用程序之间的功能共享成为可能。
比如:我们需要在我们的程序中展示一个网页,则只需要调用系统浏览器来打开这个网页就可以了。
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("https://blog.csdn.net/sydMobile/article/details/78890731"));
startActivity(intent);
解释一下:Intent.ACTION_VIEW 这是一个 Android 系统的内置的 action。通过 Uri.parse() 方法,将一个网址字符串解析成一个 Uri 对象。给 setData 方法。Uri 对象主要用于指定当前 Intent 正在操作的数据。
上面的代码中,我们可能对 setData() 部分感到陌生。这个方法并不复杂,就是接收一个 Uri 对象。主要用于指定当前的 Intent 正在操作的数据,而这些数据通常是通过字符串的形式传入到 Uri.parse() 方法中产生。
与之对应,我们可以在 <intent-filter> 标签中再配置一个 <data> 标签。用于更精确地响应当前的 Activity 能够响应什么类型的数据。
<intent> 标签中可以配置:
- android:scheme 用于指定数据的协议部分。比如 http
- android:host 指定主机部分 比如:www.baid.com
- android:path 指定主机和端口之后的部分。如一段网址跟在域名后面的内容
- android:mimeType 指定可以处理的数据类型,可以使用通配符来指定
只有 <data> 标签中指定的内容和 Intent 中携带的数据完全一致,Activity 才可以响应。一般在 <data> 标签中不需要指定这么多的信息。
除了 http 协议以外,还有很多其他的协议,比如:geo 表示显示地理位置、tel 表示拨打电话。
展示一下调用系统拨号界面
Intent intent = new Intent(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel:10086"));
startActivity(intent);
从0系统学Android-2.5更多隐式Intent用法的更多相关文章
- 更多隐式Intent用法
上几篇无论是显示的Intent或者隐式的Intent,都是要跳转的自己添加指定的页面,如果想要跳转到百度首页或者跳转到联系人面板等,前面的知识显然是很不实用的.这里,将要针对其它的一些Intent用法 ...
- 安卓开发学习笔记(四):Android Stuidio无法实现隐式Intent是为什么?
一.首先检查我们的代码: FirstActivity.java(主活动程序当中的代码):Button3监听器后面的代码就是我们隐式Intent的业务逻辑所在了,大家可以往下面看看,大概在代码的第57行 ...
- Android中显示和隐式Intent的使用
显示启动activity ...
- 从0系统学Android--4.1探究碎片
从0系统学Android--4.1探究碎片 本系列文章目录:更多精品文章分类 本系列持续更新中.... 初级阶段内容参考<第一行代码> 第四章:手机平板要兼顾--探究碎片 平板电脑和手机最 ...
- 从0系统学Android--3.7 聊天界面编写
从0系统学Android--3.7 聊天界面编写 本系列文章目录:更多精品文章分类 本系列持续更新中.... 3.7 编写界面的最佳实践 前面学习了那么多 UI 开发的知识,下面来进行实践,做一个美观 ...
- 从0系统学Android--3.6 RecyclerView
从0系统学Android--更强大的滚动控件---RecyclerView 本系列文章目录:更多精品文章分类 本系列持续更新中.... 参考<第一行代码> 首先说明一点昨天发了一篇关于 L ...
- 从0系统学Android--3.5 最常用和最难用的控件---ListView
从0系统学Android-- 3.5 最常用和最难用的控件---ListView 本系列文章目录:更多精品文章分类 本系列持续更新中.... 3.5 最常用和最难用的控件---ListView Lis ...
- 从0系统学Android--3.2四种基本布局
从0系统学Android--3.2四种基本布局 本系列文章目录:更多精品文章分类 本系列持续更新中.... 3.3 系统控件不够用?创建自定义控件 上一节我们学习了 Android 中的一些常用的控件 ...
- 从0系统学Android--3.1编写UI界面
从0系统学Android--3.1编写UI界面 本系列文章目录:更多精品文章分类 本系列持续更新中.... 界面设计和功能开发同样重要,界面美观的应用程序不仅可以大大增加用户粘性,还能帮我们吸引到更多 ...
随机推荐
- 《VR入门系列教程》之13---相机与立体渲染
相机.透视图.视口.投影 渲染好的场景都需要一个可以供用户查看的视图,我们通常在3D场景中用相机来提供这种需求.相机相对场景有位置和方向,就像我们生活中的相机一样,它也提供透视图查看方式,这种 ...
- Jenkins-slave实现并行的自动化测试
前言 上篇文章搭建了Jenkins-slave的分布式测试环境,我一直在想一个问题,使用这种模式能不能实现并发的自动化测试?我的想法是:同一套UI自动化的测试代码,是否能够通过一个Job绑定多个sla ...
- React躬行记(11)——Redux基础
Redux是一个可预测的状态容器,不但融合了函数式编程思想,还严格遵循了单向数据流的理念.Redux继承了Flux的架构思想,并在此基础上进行了精简.优化和扩展,力求用最少的API完成最主要的功能,它 ...
- <java程序大集合>
1.以下关于开发java程序的描述错误的是(). A.开发java程序的步骤包括:编写源程序,编译,运行 B.编写的java源程序文件使用.java作为扩展名 C:java源文件经编译后,生成后娺为. ...
- 基于vue2.0搭建项目流程
搭建vue2.0项目--myproject 一. 环境搭建: 1 打开命令行(cmd) 2 安装node node官网 3 安装 vue-cli步骤如下: npm install -g vue-cli ...
- 安装yarn实况
[**前情提要**]最近在gayhub上面得到一个开源项目,遂准备研究一下源码,当然第一步就是要把项目运行起来.然后看了一下技术栈,发现包管理工具是使用yarn,以前也听说过yarn但是也没有具体使用 ...
- 算法与数据结构基础 - 位运算(Bit Manipulation)
位运算基础 说到与(&).或(|).非(~).异或(^).位移等位运算,就得说到位运算的各种奇淫巧技,下面分运算符说明. 1. 与(&) 计算式 a&b,a.b各位中同为 1 ...
- 算法与数据结构基础 - 回溯(Backtracking)
回溯基础 先看一个使用回溯方法求集合子集的例子(78. Subsets),以下代码基本说明了回溯使用的基本框架: //78. Subsets class Solution { private: voi ...
- 使用DOM4J 对xml解析操作
参考自:https://blog.csdn.net/redarmy_chen/article/details/12969219 dom4j是一个Java的XML API,类似于jdom,用来读写XML ...
- 常见Http协议状态码
收集常见的http协议状态码,供查阅!包括中文和英文对照. 中文版 1**:请求收到,继续处理 2**:操作成功收到,分析.接受 3**:完成此请求必须进一步处理 4**:请求包含一个错误语法或不能完 ...