Android Intent 实战:发送短信、邮件及其他常见操作
29 浏览量
更新于2024-08-29
收藏 142KB PDF 举报
"Android中Intent习惯用法"
在Android开发中,Intent是一个至关重要的组件,它用于在应用程序组件之间传递消息和启动操作。Intent不仅能够启动新的活动(Activity),还可以启动服务(Service)或者广播接收器(BroadcastReceiver)。本文主要探讨一些Android开发中常见Intent的使用方法,包括发送短信、发送邮件、启动相机拍照或录制视频、设置闹钟以及打开WIFI设置界面等。
1. 发送短信
发送短信通常涉及到`Intent.ACTION_SENDTO`这个动作。为了确保Intent被短信应用正确处理,我们需要设置URI为`smsto:`协议,这会告诉系统我们的意图是发送短信。以下是一个创建Intent来发送短信的示例:
```java
Intent intent = new Intent(Intent.ACTION_SENDTO);
Uri uri = Uri.parse("smsto:10086"); // 10086是中国移动的服务号码,这里替换为目标号码
intent.setData(uri);
intent.putExtra("sms_body", "手头有点紧,借点钱吧~~");
ComponentName componentName = intent.resolveActivity(getPackageManager());
if (componentName != null) {
startActivity(intent);
}
```
2. 发送邮件
发送邮件使用`Intent.ACTION_SEND`,并且需要设置数据类型`Intent.setType()`,例如`"message/rfc822"`代表邮件。同时,通过`putExtra()`方法添加邮件主题和正文:
```java
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("message/rfc822");
intent.putExtra(Intent.EXTRA_EMAIL, new String[]{"recipient@example.com"}); // 收件人
intent.putExtra(Intent.EXTRA_SUBJECT, "邮件主题");
intent.putExtra(Intent.EXTRA_TEXT, "邮件正文内容");
if (intent.resolveActivity(getPackageManager()) != null) {
startActivity(intent);
}
```
3. 启动相机拍照或录制视频
启动相机拍照可以使用`Intent.ACTION_IMAGE_CAPTURE`,录制视频则是`Intent.ACTION_VIDEO_CAPTURE`。例如启动相机拍照:
```java
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
if (takePictureIntent.resolveActivity(getPackageManager()) != null) {
startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE);
}
```
4. 设置闹钟
设置闹钟通常涉及使用`AlarmManager`,不过可以通过Intent启动系统的闹钟设置界面:
```java
Intent alarmIntent = new Intent();
alarmIntent.setAction("com.android.alarmClock");
startActivity(alarmIntent);
```
5. 打开WIFI设置界面
打开WIFI设置界面,可以通过Intent访问系统设置页面:
```java
Intent wifiIntent = new Intent(Settings.ACTION_WIFI_SETTINGS);
startActivity(wifiIntent);
```
以上就是一些Android开发中Intent的常用习惯用法。理解并熟练掌握这些用法,对于开发功能丰富的Android应用至关重要。在实际使用时,根据需求调整Intent的参数和附加数据,可以实现更复杂的功能交互。记得在调用`startActivity()`之前检查`resolveActivity()`,以确保Intent能够被系统中的某个应用处理,避免出现无法启动相应应用的情况。
2016-01-23 上传
2014-02-02 上传
2012-03-18 上传
2024-04-21 上传
2017-06-05 上传
2018-05-13 上传
2021-05-02 上传
2023-07-10 上传
2014-10-18 上传
weixin_38624519
- 粉丝: 5
- 资源: 899
最新资源
- Raspberry Pi OpenCL驱动程序安装与QEMU仿真指南
- Apache RocketMQ Go客户端:全面支持与消息处理功能
- WStage平台:无线传感器网络阶段数据交互技术
- 基于Java SpringBoot和微信小程序的ssm智能仓储系统开发
- CorrectMe项目:自动更正与建议API的开发与应用
- IdeaBiz请求处理程序JAVA:自动化API调用与令牌管理
- 墨西哥面包店研讨会:介绍关键业绩指标(KPI)与评估标准
- 2014年Android音乐播放器源码学习分享
- CleverRecyclerView扩展库:滑动效果与特性增强
- 利用Python和SURF特征识别斑点猫图像
- Wurpr开源PHP MySQL包装器:安全易用且高效
- Scratch少儿编程:Kanon妹系闹钟音效素材包
- 食品分享社交应用的开发教程与功能介绍
- Cookies by lfj.io: 浏览数据智能管理与同步工具
- 掌握SSH框架与SpringMVC Hibernate集成教程
- C语言实现FFT算法及互相关性能优化指南