messaging
Messaging模块管理设备通讯功能,可用于短信、彩信、邮件发送等。通过plus.messaging可获取设备通讯管理对象。另外也可以直接通过html中的href直接快速发送短信、拨打电话、发送邮件等。
常量:
- TYPE_SMS: 简单短信类型常量
- TYPE_MMS: 彩信类型常量
- TYPE_EMAIL: 邮件类型常量
方法:
- createMessage: 创建消息对象
- sendMessage: 发送消息
对象:
回调方法:
- MessageSendSuccessCallback: 消息发送成功的回调函数
- MessageErrorCallback: 消息发送失败的回调函数
权限:
5+功能模块(permissions)
{
// ...
"permissions":{
// ...
"Messaging": {
"description": "短信彩信邮件消息"
}
}
}
TYPE_SMS
简单短信类型常量
plus.messaging.TYPE_SMS;
说明:
Number类型
消息类型常量,Number类型,固定值为1,用于创建并发送短信。
平台支持
- Android - 2.2+ (支持): 支持
- iOS - 4.3+ (支持): 支持
TYPE_MMS
彩信类型常量
plus.messaging.TYPE_MMS;
说明:
Number类型
消息类型常量,Number类型,固定值为2,用于创建并发送多媒体短信(彩信)。
平台支持
- Android - 2.2+ (支持): 支持
- iOS - 4.3+ (不支持): 不支持彩信的发送
TYPE_EMAIL
邮件类型常量
plus.messaging.TYPE_EMAIL;
说明:
Number类型
消息类型常量,Number类型,固定值为3,用于创建并发送邮件。
平台支持
- Android - 2.2+ (支持): 支持
- iOS - 4.3+ (支持): 支持
createMessage
创建消息对象
Message plus.messaging.createMessage(type);
说明:
创建指定类型的消息,消息类型可取plus.messaging.TYPE_SMS、plus.messaging.TYPE_MMS、plus.messaging.TYPE_EMAIL。
参数:
- type : (Number)必选 消息类型要创建的消息类型常量,可取plus.messaging.TYPE_SMS、plus.messaging.TYPE_MMS、plus.messaging.TYPE_EMAIL。
返回值:
Message: Message对象
平台支持:
- Android- 2.2+(支持): 支持
- iOS- 4.3+(支持): 支持
示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Messaging Example</title>
<script type="text/javascript">
// H5 plus事件处理
function plusReady(){
}
if(window.plus){
plusReady();
}else{
document.addEventListener('plusready', plusReady, false);
}
//短信
function smsTest(){
var msg = plus.messaging.createMessage(plus.messaging.TYPE_SMS);
msg.to = ['18611497504', '15811140520'];
msg.body = 'This is HTML5 Plus example test message';
plus.messaging.sendMessage( msg );
}
</script>
</head>
<body>
<button type="button" onclick="smsTest()">SMS</button>
</body>
</html>
sendMessage
发送消息
void plus.messaging.sendMessage(msg, successCB, errorCB);
说明:
发送消息,发送成功回调successCB函数,发送失败回调errorCB函数。
参数:
- msg: (Message)必选 要发送的消息对象
- successCB: (MessageSendSuccessCallback)可选 消息发送成功回调函数
- errorCB: (MessageErrorCallback)可选 消息发送失败回调函数
返回值:
void: 无
平台支持:
- Android- 2.2+(支持): 支持
- iOS- 4.3+(支持): 支持
示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Messaging Example</title>
<script type="text/javascript">
// H5 plus事件处理
function plusReady(){
}
if(window.plus){
plusReady();
}else{
document.addEventListener('plusready', plusReady, false);
}
// 发送邮件
function mailTest(){
var msg = plus.messaging.createMessage(plus.messaging.TYPE_EMAIL);
msg.to = ['test@163.com', 'test@173.com'];
msg.cc = ['test@163.com', 'test@173.com'];
msg.bcc = ['test@163.com', 'test@173.com'];
msg.subject = '测试邮件';
msg.body = 'This is Pandora example test message';
plus.messaging.sendMessage( msg, function () {
alert( "Send success!" );
}, function () {
alert( "Send failed!" );
} );
}
</script>
</head>
<body>
<button type="button" onclick="mailTest()">Send Mail</button>
</body>
</html>
Message
消息对象
属性:
- to: 收件人信息
- cc: 抄送人信息
- bcc: 暗送人信息
- from: 发件人信息
- subject: 发送消息主题
- body: 发送消息内容
- bodyType: 发送消息内容类型
- silent: 是否采用静默方式发送消息
方法:
- addAttachment: 添加附件
to
收件人信息
说明:
Array[String]类型 可选属性
字符串数组类型,输入的地址收件人信息必须符合消息类型格式。
cc
抄送人信息
说明:
Array[String]类型 可选属性
字符串数组类型,仅发送邮件时有效,输入的地址收件人信息必须符合消息类型格式。
bcc
暗送人信息
说明:
Array[String]类型 可选属性
字符串数组类型,仅发送邮件时有效,输入的地址收件人信息必须符合消息类型格式。
from
发件人信息
说明:
String类型 可选属性
仅在监听接收到的信息时有效。
subject
发送消息主题
说明:
String类型 可选属性
字符串类型,仅发送邮件时有效。
body
发送消息内容
说明:
String类型 可选属性
字符串类型,要发送的消息体内容,其格式必须与bodyType指定的一致。
bodyType
发送消息内容类型
说明:
BodyType类型 可选属性
要发送消息体内容的类型,可取值"text"表示文本内容,"html"表示为html页面,默认值为"text"。
平台支持:
- iOS- 4.3+(支持): 支持指定消息体内容类型,可支持html和text模式。
- Android- 2.2+(不支持): 不支持指定消息体内容类型,仅支持text模式。
示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Messaging Example</title>
<script type="text/javascript">
// H5 plus事件处理
function plusReady(){
}
if(window.plus){
plusReady();
}else{
document.addEventListener('plusready', plusReady, false);
}
// send mail
function mailTest(){
var msg = plus.messaging.createMessage(plus.messaging.TYPE_SMS);
msg.to = ['service@dcloud.io'];
msg.bodyType = "text/html";
msg.body = '<html><body>hello world!</body></html>';
plus.messaging.sendMessage( msg );
}
</script>
</head>
<body>
<button type="button" onclick="mailTest()">Mail</button>
</body>
</html>
silent
是否采用静默方式发送消息
说明:
Boolean类型 可选属性
布尔类型,可取值为true或false,true表示静默方式发送,不弹出界面;false表示非静默方式发送。默认采用非静默方式。
平台支持:
- iOS- 4.3+(不支持): 不支持静默方式发送消息,将忽略此属性值。
- Android- 2.2+(支持): 支持静默方式发送短信(彩信和邮件不支持),发送成功后不会保留在系统的已发送信箱中,默认采用非静默方式发送消息。
示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Messaging Example</title>
<script type="text/javascript">
// H5 plus事件处理
function plusReady(){
}
if(window.plus){
plusReady();
}else{
document.addEventListener('plusready', plusReady, false);
}
// send SMS
function smsTest(){
var msg = plus.messaging.createMessage(plus.messaging.TYPE_SMS);
msg.to = ['10086', '10001'];
msg.body = 'CXYE';
msg.silent = true; // 设置为使用静默方式发送
plus.messaging.sendMessage( msg );
}
</script>
</head>
<body>
<button type="button" onclick="smsTest()">Silent SMS</button>
</body>
</html>
addAttachment
添加附件
msg.addAttachment( url );
说明:
向消息中添加附件,仅邮件类型消息支持,其它类型消息不支持。
参数:
- url: (String)必选 要添加的附件资源地址附件资源必须是本地文件,支持相对路径及本地文件相对路径格式。
返回值:
void: 无
示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<title>Messaging Example</title>
<script type="text/javascript">
// H5 plus事件处理
function plusReady(){
}
if(window.plus){
plusReady();
}else{
document.addEventListener('plusready', plusReady, false);
}
// send mail
function mailTest(){
var msg = plus.messaging.createMessage(plus.messaging.TYPE_MAIL);
msg.to = ['service@dcloud.io'];
msg.body = 'This is an example mail';
msg.addAttachment("_www/a.doc");
plus.messaging.sendMessage( msg );
}
</script>
</head>
<body>
<button type="button" onclick="mailTest()">Mail with Attachment</button>
</body>
</html>
BodyType
消息体内容类型
说明:
用于设定消息的消息体内容。
MessageSendSuccessCallback
消息发送成功的回调函数
void onSuccess() {
// Send message success code.
}
参数:
无
返回值:
void: 无
MessageErrorCallback
消息发送失败的回调函数
void onError( error ) {
// Error code.
}
参数:
- error: (DOMException)必选 失败信息
返回值:
void: 无