Messaging模块管理设备通讯功能,可用于短信、彩信、邮件发送等。通过plus.messaging可获取设备通讯管理对象。另外也可以直接通过html中的href直接快速发送短信、拨打电话、发送邮件等。
plus.messaging.TYPE_SMS;
说明:Number 类型。消息类型常量,Number类型,固定值为1,用于创建并发送短信。
平台支持:Android - 2.2+ (支持): 支持,iOS - 4.3+ (支持): 支持
plus.messaging.TYPE_MMS;
说明:Number 类型。消息类型常量,Number类型,固定值为2,用于创建并发送多媒体短信(彩信)。
平台支持:Android - 2.2+ (支持): 支持,iOS - 4.3+ (不支持): 不支持彩信的发送
plus.messaging.TYPE_EMAIL;
说明:Number 类型。消息类型常量,Number类型,固定值为3,用于创建并发送邮件。
平台支持:Android - 2.2+ (支持): 支持,iOS - 4.3+ (支持): 支持
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"> // 扩展API加载完毕后调用onPlusReady回调函数 document.addEventListener( "plusready", onPlusReady, false ); // 扩展API加载完毕,现在可以正常调用扩展API function onPlusReady() { } //短信 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>
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"> // 扩展API加载完毕后调用onPlusReady回调函数 document.addEventListener( "plusready", onPlusReady, false ); // 扩展API加载完毕,现在可以正常调用扩展API function onPlusReady() { } //邮件 function mailTest(){ var msg = plus.messaging.createMessage(plus.messaging.TYPE_EMAIL); msg.to = ['[email protected]', '[email protected]']; msg.cc = ['[email protected]', '[email protected]']; msg.bcc = ['[email protected]', '[email protected]']; 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>
3.1.1、属性
(1)、to: 收件人信息。DOMString[] 类型 可选属性,字符串数组类型,输入的地址收件人信息必须符合消息类型格式。
(2)、cc: 抄送人信息。DOMString[] 类型 可选属性,字符串数组类型,仅发送邮件时有效,输入的地址收件人信息必须符合消息类型格式。
(3)、bcc: 暗送人信息。DOMString[] 类型 可选属性,字符串数组类型,仅发送邮件时有效,输入的地址收件人信息必须符合消息类型格式。
(4)、subject: 发送消息主题。DOMString 类型 可选属性,字符串类型,仅发送邮件时有效。
(5)、body: 发送消息内容。DOMString 类型 可选属性,字符串类型,要发送的消息体内容,其格式必须与bodyType指定的一致。
(6)、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"> // 扩展API加载完毕后调用onPlusReady回调函数 document.addEventListener( "plusready", onPlusReady, false ); // 扩展API加载完毕,现在可以正常调用扩展API function onPlusReady() { } // send mail function mailTest(){ var msg = plus.messaging.createMessage(plus.messaging.TYPE_SMS); msg.to = ['[email protected]']; 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>
(7)、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"> // 扩展API加载完毕后调用onPlusReady回调函数 document.addEventListener( "plusready", onPlusReady, false ); // 扩展API加载完毕,现在可以正常调用扩展API function onPlusReady() { } // 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>
3.1.2、方法
addAttachment: 添加附件
msg.addAttachment( url );
说明:向消息中添加附件,仅邮件类型消息支持,其它类型消息不支持。
参数:
url: ( DOMString ) 必选 要添加的附件资源地址,附件资源必须是本地文件,支持相对路径及本地文件相对路径格式。
返回值: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"> // 监听plusready事件 document.addEventListener( "plusready", function(){ // 扩展API加载完毕,现在可以正常调用扩展API },false); // send mail function mailTest(){ var msg = plus.messaging.createMessage(plus.messaging.TYPE_MAIL); msg.to = ['[email protected]']; 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>
用于设定消息的消息体内容。
void onSuccess() {
// Send message success code.
}
返回值:void : 无
void onError( error ) {
// Error code.
}
参数:error: ( DOMException ) 必选 失败信息
返回值:void : 无