Android Intent 实战:发送短信、邮件及其他常见操作
62 浏览量
更新于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 上传
2023-03-16 上传
2023-04-21 上传
2023-06-02 上传
2023-06-07 上传
2023-07-14 上传
2023-05-30 上传
2023-04-23 上传
2023-06-28 上传
weixin_38624519
- 粉丝: 5
- 资源: 899
最新资源
- C++标准程序库:权威指南
- Java解惑:奇数判断误区与改进方法
- C++编程必读:20种设计模式详解与实战
- LM3S8962微控制器数据手册
- 51单片机C语言实战教程:从入门到精通
- Spring3.0权威指南:JavaEE6实战
- Win32多线程程序设计详解
- Lucene2.9.1开发全攻略:从环境配置到索引创建
- 内存虚拟硬盘技术:提升电脑速度的秘密武器
- Java操作数据库:保存与显示图片到数据库及页面
- ISO14001:2004环境管理体系要求详解
- ShopExV4.8二次开发详解
- 企业形象与产品推广一站式网站建设技术方案揭秘
- Shopex二次开发:触发器与控制器重定向技术详解
- FPGA开发实战指南:创新设计与进阶技巧
- ShopExV4.8二次开发入门:解决升级问题与功能扩展