Android入门:Intent基础与应用
需积分: 15 46 浏览量
更新于2024-09-20
1
收藏 234KB PPT 举报
"Intent初级学习(android)"
在Android开发中,Intent是一个至关重要的概念,它作为应用程序组件间通信的主要机制,允许我们启动其他组件或传递数据。本篇内容主要介绍了Intent的基本使用,包括拨打电话、发送短信以及启动新Activity并传递参数。
1. Intent的定义
Intent在Android中被定义为一个抽象的操作描述,它定义了想要执行的动作,而具体的执行细节则由Android系统来处理。Intent分为显式Intent和隐式Intent两种类型。显式Intent明确指定要启动的目标组件,而隐式Intent则根据动作(ACTION)、数据(DATA)等信息让系统选择合适的组件执行。
2. 拨打电话
拨打电话的Intent使用`ACTION_CALL`动作,并且需要`CALL_PHONE`权限。以下代码展示了如何创建一个拨打电话的Intent:
```java
Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + telPhone));
```
这里`telPhone`是电话号码,添加权限`<uses-permission android:name="android.permission.CALL_PHONE"/>`以确保应用有权限进行电话呼叫。
3. 发送短信
发送短信的Intent使用`ACTION_SENDTO`动作,目标是`smsto:` URI,并可以附加短信内容。示例如下:
```java
Intent intent = new Intent(Intent.ACTION_SENDTO, Uri.parse("smsto:5554"));
intent.putExtra("sms_body", "Hello");
```
`5554`是接收方的电话号码,`"Hello"`是短信内容。同样,发送短信也需要`SEND_SMS`权限:
`<uses-permission android:name="android.permission.SEND_SMS"/>`
4. 启动新的Activity
启动新的Activity通常用于在应用内部导航,Intent可以携带数据。例如,你可以创建一个Intent来启动新的Activity,并传递参数:
```java
Intent intent = new Intent(currentActivity, TargetActivity.class);
intent.putExtra("key", value); // 'key'是参数名,'value'是参数值
startActivity(intent);
```
在新的Activity中,通过`getIntent().getStringExtra("key")`或者`getIntent().getExtras()`来获取传递的数据。
5. 传递和返回参数
Intent不仅用于启动Activity,还可以用来在Activity之间传递数据。使用`putExtra()`方法添加额外的数据,而在接收方Activity中使用`getExtras()`或特定的`getXXXExtra()`方法来获取这些数据。如果需要从启动的Activity返回结果,可以使用`setResult()`方法,并在启动Activity的父Activity中覆盖`onActivityResult()`方法来接收返回的结果。
6. 权限管理
记住,涉及敏感操作(如拨打电话和发送短信)的Intent需要在AndroidManifest.xml文件中声明相应的权限,否则在运行时会抛出异常。
Intent是Android开发者必备的工具,它使得组件间的交互变得简单而灵活,无论是启动一个Activity、启动Service、发送广播,还是打开设置等,Intent都扮演着关键角色。理解并熟练运用Intent对于深入学习Android开发至关重要。
2013-06-05 上传
2021-12-17 上传
2023-05-13 上传
2023-05-15 上传
2023-05-24 上传
2023-07-14 上传
2023-05-19 上传
2023-06-08 上传
2023-06-13 上传
梦之情缘
- 粉丝: 53
- 资源: 817
最新资源
- 多传感器数据融合手册:国外原版技术指南
- MyEclipse快捷键大全,提升编程效率
- 从零开始的编程学习:Linux汇编语言入门
- EJB3.0实例教程:从入门到精通
- 深入理解jQuery源码:解析与分析
- MMC-1电机控制ASSP芯片用户手册
- HS1101相对湿度传感器技术规格与应用
- Shell基础入门:权限管理与常用命令详解
- 2003年全国大学生电子设计竞赛:电压控制LC振荡器与宽带放大器
- Android手机用户代理(User Agent)详解与示例
- Java代码规范:提升软件质量和团队协作的关键
- 浙江电信移动业务接入与ISAG接口实战指南
- 电子密码锁设计:安全便捷的新型锁具
- NavTech SDAL格式规范1.7版:车辆导航数据标准
- Surfer8中文入门手册:绘制等高线与克服语言障碍
- 排序算法全解析:冒泡、选择、插入、Shell、快速排序