跳转到发送短信页面

Uri smsToUri = Uri.parse("smsto://10086");
Intent mIntent = new Intent( android.content.Intent.ACTION_SENDTO, smsToUri );
startActivity( mIntent );

我们都知道,在Android中调用其他程序进行相关处理,几乎都是使用的Intent,所以,Email也不例外。

在Android中,调用Email有三种类型的Intent: 
Intent.ACTION_SENDTO 无附件的发送 
Intent.ACTION_SEND 带附件的发送 
Intent.ACTION_SEND_MULTIPLE 带有多附件的发送

当然,所谓的调用Email,只是说Email可以接收Intent并做这些事情,可能也有其他的应用程序实现了相关功能,所以在执行的时候,会出现选择框进行选择。

1.使用SENTTO发送 
[java]

复制代码代码如下:
Intent data=new Intent(Intent.ACTION_SENDTO);  data.setData(Uri.parse("mailto:way.ping.li@gmail.com"));  data.putExtra(Intent.EXTRA_SUBJECT, "这是标题");  data.putExtra(Intent.EXTRA_TEXT, "这是内容");  startActivity(data); 
Intent data=new Intent(Intent.ACTION_SENDTO);  data.setData(Uri.parse("mailto:way.ping.li@gmail.com"));  data.putExtra(Intent.EXTRA_SUBJECT, "这是标题");  data.putExtra(Intent.EXTRA_TEXT, "这是内容");  startActivity(data); 

通过向Intent中putExtra来设定邮件的相关参数。

2.使用SEND发送 
[java]

复制代码代码如下:
Intent intent = new Intent(Intent.ACTION_SEND);  String[] tos = { "way.ping.li@gmail.com" };  String[] ccs = { "way.ping.li@gmail.com" };  String[] bccs = {"way.ping.li@gmail.com"};  intent.putExtra(Intent.EXTRA_EMAIL, tos);  intent.putExtra(Intent.EXTRA_CC, ccs);  intent.putExtra(Intent.EXTRA_BCC, bccs);  intent.putExtra(Intent.EXTRA_TEXT, "body");  intent.putExtra(Intent.EXTRA_SUBJECT, "subject"); 
intent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file:///mnt/sdcard/a.jpg"));  intent.setType("image/*");  intent.setType("message/rfc882");  Intent.createChooser(intent, "Choose Email Client");  startActivity(intent); 
Intent intent = new Intent(Intent.ACTION_SEND);  String[] tos = { "way.ping.li@gmail.com" };  String[] ccs = { "way.ping.li@gmail.com" };  String[] bccs = {"way.ping.li@gmail.com"};  intent.putExtra(Intent.EXTRA_EMAIL, tos);  intent.putExtra(Intent.EXTRA_CC, ccs);  intent.putExtra(Intent.EXTRA_BCC, bccs);  intent.putExtra(Intent.EXTRA_TEXT, "body");  intent.putExtra(Intent.EXTRA_SUBJECT, "subject"); 
intent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file:///mnt/sdcard/a.jpg"));  intent.setType("image/*");  intent.setType("message/rfc882");  Intent.createChooser(intent, "Choose Email Client");  startActivity(intent); 

很简单,发送邮件中,有收件者,抄送者,密送者。 也就是分别通过 
Intent.EXTRA_EMAIL, 
Intent.EXTRA_CC, 
Intent.EXTRA_BCC 
来进行putExtra来设定的,而单个附件的发送,则使用Intent.EXTRA_STREAM来设置附件的地址Uri。

3.使用SEND_MULTIPLE来进行多附件的发送 
[java]

复制代码代码如下:
Intent intent = new Intent(Intent.ACTION_SEND_MULTIPLE);  String[] tos = { "way.ping.li@gmail.com" };  String[] ccs = { "way.ping.li@gmail.com" };  intent.putExtra(Intent.EXTRA_EMAIL, tos);  intent.putExtra(Intent.EXTRA_CC, ccs);  intent.putExtra(Intent.EXTRA_TEXT, "body");  intent.putExtra(Intent.EXTRA_SUBJECT, "subject"); 
ArrayList<uri> imageUris = new ArrayList<uri>();  imageUris.add(Uri.parse("file:///mnt/sdcard/a.jpg"));  imageUris.add(Uri.parse("file:///mnt/sdcard/b.jpg"));  intent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, imageUris);  intent.setType("image/*");  intent.setType("message/rfc882");  Intent.createChooser(intent, "Choose Email Client");  startActivity(intent); 
Intent intent = new Intent(Intent.ACTION_SEND_MULTIPLE);  String[] tos = { "way.ping.li@gmail.com" };  String[] ccs = { "way.ping.li@gmail.com" };  intent.putExtra(Intent.EXTRA_EMAIL, tos);  intent.putExtra(Intent.EXTRA_CC, ccs);  intent.putExtra(Intent.EXTRA_TEXT, "body");  intent.putExtra(Intent.EXTRA_SUBJECT, "subject"); 
ArrayList<uri> imageUris = new ArrayList<uri>();  imageUris.add(Uri.parse("file:///mnt/sdcard/a.jpg"));  imageUris.add(Uri.parse("file:///mnt/sdcard/b.jpg"));  intent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, imageUris);  intent.setType("image/*");  intent.setType("message/rfc882");  Intent.createChooser(intent, "Choose Email Client");  startActivity(intent); 

发送多个附件,最主要的时候,通过putParcelableArrayListExtra将多个附件的Uri地址List设置进去就OK了。其实还是很简单的。

andorid中发送短信页面以及邮件发送的更多相关文章

  1. Android-->发送短信页面实现(短信发送以及群发和从电话本中选择联系人)-----------》2

    分析下怎么写 首先,我们需要一个输入框,可以手动的输入手机号码, 其次,很少有人愿意手动输入,那么我们需要提供一个按钮来给我们的用户选择自己电话本中的联系人(一次可以选择多个即群发) 然后,我们需要一 ...

  2. Android中使用Intent的Action和Data属性实现点击按钮跳转到拨打电话和发送短信

    场景 点击拨打电话按钮,跳转到拨打电话页面 点击发送短信按钮,跳转到发送短信页面 注: 博客: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程 ...

  3. Linux-C实现GPRS模块发送短信

    “GSM模块,是将GSM射频芯片.基带处理芯片.存储器.功放器件等集成在一块线路板上,具有独立的操作系统.GSM射频处理.基带处理并提供标准接口的功能模块.GSM模块根据其提供的数据传输速率又可以分为 ...

  4. Android之发送短信和接收验证码

      最近项目需求需要发送短信和接收验证码并将验证码显示在输入框中 以下是我的记录    前提---权限     <uses-permission android:name="andro ...

  5. Android软件开发之发送短信与系统短信库解析

    今天我和同学们讨论一下Android平台下如何调用系统方法发送短信.接收短信.系统的短信库相关的问题.进入正题,我们先使用Eclipse工具模拟给自己的模拟器发送一条短信.在Eclipse下打开DDM ...

  6. Windows Phone开发(24):启动器与选择器之发送短信

    原文:Windows Phone开发(24):启动器与选择器之发送短信 本节我们通过一个简单的发送短信示例来演示一下如果配合使用PhoneNumberChooserTask和SmsComposeTas ...

  7. Android--发送短信,并且通知发送方

    1.发送短信涉及到权限,我们需要把权限加上 2.当我们发送短信时,不管发送是否成功,接收方是否接收到,系统都会发送广播 3.这时我们注册广播去接收一下就可以了 4.布局文件很简单,里面就两个EditT ...

  8. phoneGap的Android下编写phonegap 发送短信插件

    一.前端代码的编写 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> < ...

  9. iOS中发送短信/发送邮件的实现 韩俊强的博客

    需要引入框架: MessageUI.framework 布局如下: 短信和邮件: #import "ViewController.h" #import <MessageUI/ ...

随机推荐

  1. Java-01背包问题-动态规划-递归和非递归实现

    国际惯例,先上代码,粗略分析: package com.bag; /** * Author: lihao * Date:2017/8/31 * Description: */ public class ...

  2. mvc3 学习链接收集

    原文发布时间为:2011-04-17 -- 来源于本人的百度文章 [由搬家工具导入] The mvc3 study links collection http://dotnetslackers.com ...

  3. shell 执行提示No such file or directory

    问题描述: 项目开发过程中ansible执行脚本失败,单独运行shell脚本提示:No such file or directory,脚本结构执行脚本a 调用另一脚本b, 但查看b脚本路径正确不存在找 ...

  4. pip 安装时报错Double requirement given: numpy==1.12.1....

    使用pip install -r requirements.txt 命令批量安装模块时,报错: Double requirement given: numpy==1.12.1 from https:/ ...

  5. [SaltStack] Minion-conf自动更新

    minion-conf配置文件自动更新, 加载 minion-conf是每个minion自身以来的配置, 为了方便我们在中心管控机上(Master)统一配置, 然后下发文件, 进而使得Minion能够 ...

  6. HDU 4866 Shooting (主席树)

    题目链接  HDU 4866 题意  给定$n$条线段.每条线段平行$x$轴,离x轴的距离为$D$,覆盖的坐标范围为$[L, R]$.   现在有$m$次射击行动,每一次的射击行动可以描述为在横坐标$ ...

  7. Ruby Time And DateTime之Time in Core

    今天遇到一个问题,就是在Ruby中对于Time和DateTime的使用,不是很明了,现在研究一下: 先说Time: 在Ruby2.0中关于Time有两处定义一个是在Core中,http://www.r ...

  8. ZFS -世界上最高级的文件系统之一

    https://www.oschina.net/news/44302/openzfs_launch_announcement https://en.wikipedia.org/wiki/ZFS ZFS ...

  9. RHEL CentOS Fedora各种源介绍和安装

    CentOS默认自带CentOS-Base.repo源,但官方源中去除了很多有版权争议的软件,而且安装的软件也不是最新的稳定版.   下面介绍各种第三方软件库,以下软件库适用于与RHEL完全兼容的li ...

  10. Flutter开发记录part1

    (1)AppBar:automaticallyImplyLeading//是否带返回leading箭头 (2)非route路由页面跳转 :Navigator.of(context).push(Mate ...