Android Intent全方位解析:实例代码详解
需积分: 33 81 浏览量
更新于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的使用对于构建交互丰富的应用程序至关重要。
209 浏览量
点击了解资源详情
101 浏览量
101 浏览量
223 浏览量
242 浏览量
361 浏览量
533 浏览量
772 浏览量
sea_turtle
- 粉丝: 1
- 资源: 19
最新资源
- 图书管理备案系统.rar
- the_computer_vision_app:一款可在网络上执行常见的计算机视觉任务的应用程序
- java笔试题算法-C5:用于C#/.NET的C5泛型集合库
- comment2votes:seq2seq架构,用于预测reddit评论的投票
- andyseoDB
- 家居城促销顾客须知(转盘上摇奖的注意事项)
- 永宏PLC编成软件 适合FBE FBS B1Z等型号.rar
- file-system-access:公开用户设备上的文件系统,以便Web应用程序可以与用户的本机应用程序进行互操作
- jstl-tld.zip
- Ikasumi-crx插件
- 超可爱卡通动物图标下载
- 任务一-使用监督的机器学习预测:根据编号预测学生的百分比。 学习时间
- CSE212_DataStructures_Guide
- 初级java笔试题-awesome-php-resources:精选的很棒的php列表
- ךופה לע ךופה - הפוך על הפוך-crx插件
- 作业六