Android Intent全方位解析:实例代码详解
需积分: 33 10 浏览量
更新于2024-09-14
1
收藏 64KB DOC 举报
"这篇文章除了介绍Android Intent的基本概念,还通过实例代码展示了如何使用Intent来实现不同的功能,如显示网页、查看地图、路径规划、拨打电话以及发送短信。"
在Android开发中,Intent是一种重要的组件,它用于在应用程序之间传递消息,实现组件之间的交互。Intent可以用来启动一个新的活动(Activity)、启动服务(Service)或者广播(Broadcast)。以下是Intent的几种常见用法的详细说明:
1. 显示网页:
使用`ACTION_VIEW`动作和`Uri`对象,可以启动浏览器显示指定的网页。例如:
```java
Uri uri = Uri.parse("http://www.google.com");
Intent it = new Intent(Intent.ACTION_VIEW, uri);
startActivity(it);
```
这行代码会打开默认的浏览器并加载URL。
2. 显示地图:
指定地理位置的`Uri`和`ACTION_VIEW`动作,可以打开地图应用显示特定位置。例如:
```java
Uri uri = Uri.parse("geo:38.899533,-77.036476");
Intent it = new Intent(Intent.ACTION_VIEW, uri);
startActivity(it);
```
这将打开地图应用并定位到给定的经纬度。
3. 路径规划:
如果想要规划路线,可以构建包含起始和结束地点的URL,然后启动地图应用。例如:
```java
Uri uri = Uri.parse("http://maps.google.com/maps?f=d&saddr=startLat%20startLng&daddr=endLat%20endLng&hl=en");
Intent it = new Intent(Intent.ACTION_VIEW, uri);
startActivity(it);
```
这个例子会打开Google Maps并规划从起始坐标到结束坐标的路线。
4. 拨打电话:
`ACTION_DIAL`动作会启动拨号界面,而`ACTION_CALL`会直接拨打电话。前者无需权限,后者需要`CALL_PHONE`权限。例如:
```java
// 调用拨号界面
Uri uri = Uri.parse("tel:xxxxxx");
Intent it = new Intent(Intent.ACTION_DIAL, uri);
startActivity(it);
// 直接拨打电话
Uri uri = Uri.parse("tel:xxxxxx");
Intent it = new Intent(Intent.ACTION_CALL, uri);
// 需要在AndroidManifest.xml中添加<uses-permission android:name="android.permission.CALL_PHONE" />
startActivity(it);
```
5. 发送SMS/MMS:
发送短信或多媒体消息(MMS)通常需要启动短信应用。使用`ACTION_VIEW`,设置短信正文和类型。例如:
```java
Intent it = new Intent(Intent.ACTION_VIEW);
it.putExtra("sms_body", "The SMS text");
it.setType("vnd.android-dir/mms-sms");
startActivity(it);
```
这行代码会打开短信应用,预填好文本内容。
这些用法只是Intent的一部分,实际上Intent还能用于启动服务、传递数据等更复杂的操作。Intent配合不同的Action、Data、Category等参数,能够实现各种定制化的功能,是Android系统中不可或缺的组件。在实际开发中,熟练掌握Intent的使用对于构建交互丰富的应用程序至关重要。
2019-03-27 上传
2023-06-02 上传
2024-09-17 上传
2023-08-12 上传
2023-05-23 上传
2023-06-02 上传
2023-05-27 上传
2023-07-11 上传
sea_turtle
- 粉丝: 1
- 资源: 19
最新资源
- 李兴华Java基础教程:从入门到精通
- U盘与硬盘启动安装教程:从菜鸟到专家
- C++面试宝典:动态内存管理与继承解析
- C++ STL源码深度解析:专家级剖析与关键技术
- C/C++调用DOS命令实战指南
- 神经网络补偿的多传感器航迹融合技术
- GIS中的大地坐标系与椭球体解析
- 海思Hi3515 H.264编解码处理器用户手册
- Oracle基础练习题与解答
- 谷歌地球3D建筑筛选新流程详解
- CFO与CIO携手:数据管理与企业增值的战略
- Eclipse IDE基础教程:从入门到精通
- Shell脚本专家宝典:全面学习与资源指南
- Tomcat安装指南:附带JDK配置步骤
- NA3003A电子水准仪数据格式解析与转换研究
- 自动化专业英语词汇精华:必备术语集锦