Android Intent 实战:发送短信、邮件及其他常见操作
7 浏览量
更新于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能够被系统中的某个应用处理,避免出现无法启动相应应用的情况。
220 浏览量
147 浏览量
2012-03-18 上传
2024-04-21 上传
2017-06-05 上传
2018-05-13 上传
2023-07-10 上传
2021-05-02 上传
124 浏览量
weixin_38624519
- 粉丝: 6
最新资源
- Laravel框架介绍:Web开发的新选择
- SURF与RANSAC在图像细配准中的应用研究
- 单片机期末设计项目:贪吃蛇、俄罗斯方块与打砖块
- EthPIPE FPGA实现以太网性能提升方案
- 朴实无华的仿中企动力手机wap企业网站模板
- M1卡控制字算法程序深入解析
- 易语言实现文本显示的打字效果教程
- JavaScript巴布奎兹:压缩包子主文件解析
- 基于JSP和MYSQL的物流信息网站毕业设计项目
- Objective-C中自定义单例警报控制器的实现
- Linux下使用iptables实现静态无状态双向NAT教程
- UCI机器学习二分类数据集资源下载
- Java测试技术分析与实践
- QRCodeFactory:快速高效的二维码批量生成
- 易语言超级列表框行间距调整模块源码解析
- 克洛夫:HTML技术的最新动向与进展