Android开发入门:Intent基础与参数传递
需积分: 15 62 浏览量
更新于2024-08-13
收藏 234KB PPT 举报
"这是一份关于Android开发中Intent初级学习的教程,适合有一定Java基础的学员。讲师是若水,可以在CSDN博客和腾讯微博找到他的更多资源。教程强调了Intent在Android应用中的核心作用,并提供了拨打电话、发送短信以及启动新Activity并传递参数的示例代码。"
在Android开发中,Intent扮演着至关重要的角色,它是一种消息传递对象,用来在组件之间进行通信。Intent可以被理解为一个动作的抽象描述,它包含了执行某项操作的意图和必要的信息。Intent主要用于启动新的Activity,启动Service,或者在不同的组件间传递数据。
1. 拨打电话
当你需要让Android设备拨打电话时,可以创建一个ACTION_CALL类型的Intent,并指定电话号码。代码如下:
```java
Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + telPhone));
```
注意,为了能够执行此操作,需要在AndroidManifest.xml中添加拨打权限:
```xml
<uses-permission android:name="android.permission.CALL_PHONE" />
```
2. 发送短信
发送短信则需要创建一个ACTION_SENDTO类型的Intent,并指定接收方的电话号码。同时,可以通过putExtra方法添加短信内容:
```java
Intent intent = new Intent(Intent.ACTION_SENDTO, Uri.parse("smsto:5554"));
intent.putExtra("sms_body", "Hello");
```
同样,发送短信也需要在AndroidManifest.xml中声明权限:
```xml
<uses-permission android:name="android.permission.SEND_SMS" />
```
3. 启动新的Activity和传递参数
启动新的Activity通常涉及到Intent的构造和传递数据。首先创建Intent,然后使用putExtra方法添加额外的数据,最后调用startActivity方法启动目标Activity。例如,你可以这样传递一个字符串参数:
```java
Intent intent = new Intent(currentActivity, TargetActivity.class);
intent.putExtra("key", "value");
startActivity(intent);
```
在目标Activity中,可以通过getIntent().getStringExtra("key")来获取这个值。
4. 返回参数
当从一个Activity返回结果到另一个Activity时,可以使用setResult()方法设置结果Intent,然后在启动Activity的onActivityResult()方法中接收结果。例如,在TargetActivity中设置结果:
```java
Intent resultIntent = new Intent();
resultIntent.putExtra("result_key", "result_value");
setResult(RESULT_OK, resultIntent);
finish();
```
而在当前Activity中接收结果:
```java
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_CODE && resultCode == RESULT_OK) {
String result = data.getStringExtra("result_key");
// 处理返回的结果
}
}
```
这样的机制允许Activity之间进行双向通信,传递数据并得到反馈。
Intent是Android系统中连接不同组件的桥梁,无论是启动新Activity、Service,还是在组件间传递数据,Intent都起着至关重要的作用。理解并熟练使用Intent是成为一名合格Android开发者的基础。
2016-10-14 上传
2013-06-05 上传
2021-06-18 上传
2021-03-02 上传
2022-09-24 上传
2013-09-16 上传
2021-05-12 上传
2019-10-31 上传
杜浩明
- 粉丝: 13
- 资源: 2万+
最新资源
- ES管理利器:ES Head工具详解
- Layui前端UI框架压缩包:轻量级的Web界面构建利器
- WPF 字体布局问题解决方法与应用案例
- 响应式网页布局教程:CSS实现全平台适配
- Windows平台Elasticsearch 8.10.2版发布
- ICEY开源小程序:定时显示极限值提醒
- MATLAB条形图绘制指南:从入门到进阶技巧全解析
- WPF实现任务管理器进程分组逻辑教程解析
- C#编程实现显卡硬件信息的获取方法
- 前端世界核心-HTML+CSS+JS团队服务网页模板开发
- 精选SQL面试题大汇总
- Nacos Server 1.2.1在Linux系统的安装包介绍
- 易语言MySQL支持库3.0#0版全新升级与使用指南
- 快乐足球响应式网页模板:前端开发全技能秘籍
- OpenEuler4.19内核发布:国产操作系统的里程碑
- Boyue Zheng的LeetCode Python解答集