Android Intent 实战:发送短信、邮件及其他常见操作

0 下载量 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能够被系统中的某个应用处理,避免出现无法启动相应应用的情况。