cordova-plugin-sms
Version:
Cordova plugin to operate SMS, send/list/intercept/delete/restore
87 lines (71 loc) • 2.58 kB
JavaScript
var argscheck = require('cordova/argscheck'),
exec = require('cordova/exec');
var safesmsExport = {};
/*
* Methods
*/
/*
* set options:
* {
* position: integer, // default position
* x: integer, // default X of banner
* y: integer, // default Y of banner
* isTesting: boolean, // if set to true, to receive test ads
* autoShow: boolean, // if set to true, no need call showBanner or showInterstitial
* }
*/
safesmsExport.setOptions = function(options, successCallback, failureCallback) {
if(typeof options === 'object') {
cordova.exec( successCallback, failureCallback, 'SMS', 'setOptions', [options] );
} else {
if(typeof failureCallback === 'function') {
failureCallback('options should be specified.');
}
}
};
safesmsExport.startWatch = function(successCallback, failureCallback) {
cordova.exec( successCallback, failureCallback, 'SMS', 'startWatch', [] );
};
safesmsExport.stopWatch = function(successCallback, failureCallback) {
cordova.exec( successCallback, failureCallback, 'SMS', 'stopWatch', [] );
};
safesmsExport.enableIntercept = function(on_off, successCallback, failureCallback) {
on_off = !! on_off;
cordova.exec( successCallback, failureCallback, 'SMS', 'enableIntercept', [ on_off ] );
};
safesmsExport.sendSMS = function(address, text, successCallback, failureCallback) {
var numbers;
if( Object.prototype.toString.call( address ) === '[object Array]' ) {
numbers = address;
} else if(typeof address === 'string') {
numbers = [ address ];
} else {
if(typeof failureCallback === 'function') {
failureCallback("require address, phone number as string, or array of string");
}
return;
}
cordova.exec( successCallback, failureCallback, 'SMS', 'sendSMS', [ numbers, text ] );
};
safesmsExport.listSMS = function(filter, successCallback, failureCallback) {
cordova.exec( successCallback, failureCallback, 'SMS', 'listSMS', [ filter ] );
};
safesmsExport.deleteSMS = function(filter, successCallback, failureCallback) {
cordova.exec( successCallback, failureCallback, 'SMS', 'deleteSMS', [ filter ] );
};
safesmsExport.restoreSMS = function(msg, successCallback, failureCallback) {
var smsList = [];
if(Array.isArray(msg)) {
if(msg.length > 0) smsList = msg;
} else if(typeof msg === 'object') {
if(msg !== null) smsList = [ msg ];
}
cordova.exec( successCallback, failureCallback, 'SMS', 'restoreSMS', [ msg ] );
};
/*
* Events:
*
* document.addEventListener('onSMSArrive', function(e) { var sms = e.data; }
*
*/
module.exports = safesmsExport;