Enviar y leer el contenido de SMS enviado a través de la aplicación de SMS nativa cordova

Estoy construyendo una aplicación iónica / cordova. Desde mi aplicación, el usuario puede hacer clic en un número de teléfono para enviar SMS. Cuando click ese número, se abrirá la aplicación de SMS nativa y, a continuación, el usuario puede escribir sus propios SMS y enviar los SMS. ¿Hay alguna manera, desde mi aplicación puedo get el contenido de SMS?

Gracias por adelantado.

Como está usando iónico / cordova, se requiere un complemento de SMS para realizar dicho trabajo.

Además del complemento jsmobile SMS, hay otro con más API: http://plugins.cordova.io/#/package/com.rjfun.cordova.sms

Como se menciona en la descripción:

sendSMS(address(s), text, successCallback, failureCallback); listSMS(filter, successCallback, failureCallback); deleteSMS(filter, successCallback, failureCallback); startWatch(successCallback, failureCallback); stopWatch(successCallback, failureCallback); enableIntercept(on_off, successCallback, failureCallback); restreSMS(msg_or_msgs, successCallback, failureCallback); 

Eventos

 'onSMSArrive' 

Puede get el contenido de SMS de cualquiera de las siguientes maneras:

  1. implementar la interfaz de usuario, get la input del usuario y llamar a la API del complemento para enviar los SMS.

O,

  1. deje que la aplicación de SMS pnetworkingeterminada envíe el post, luego lea los SMS desde el cuadro enviado.

Por cierto, el complemento funciona solo para Android, para su información.

Existe la opción cordova-plugin-sms , como sugirió @MikeX, pero tenga en count que su licencia no es de uso gratuito.

Así que elegí usar Phonegap-SMS-reception-plugin , que es la licencia MIT.

y luego solo

  var smsInboxPlugin = cordova.require('cordova/plugin/smsinboxplugin'); smsInboxPlugin.startReception (function(msg) { alert(msg); stopReadingSMS(smsInboxPlugin); }, function() { alert("Error while receiving messages"); stopReadingSMS(smsInboxPlugin); }); function stopReadingSMS(smsInboxPlugin) { smsInboxPlugin.stopReception (function() { console.log("Correctly stopped SMS receiver"); }, function() { console.log("Error while stopping the SMS receiver"); }); } 

¿Estás diciendo que quieres saber qué escribió el usuario en otra aplicación? Si es así, no creo que puedas. En teoría, puedes intentar omitir la aplicación de SMS real y usar un complemento: http://plugins.cordova.io/#/package/com.jsmobile.plugins.sms

Hoy en día hay envoltorios iónicos para extensiones de cordova. Puede usar $ cordovaSMS ( docs aquí )

 module.controller('ThisCtrl', function($cordovaSms) { document.addEventListener("deviceready", function () { $cordovaSms .send('phonenumber', 'SMS content', options) .then(function() { // Success! SMS was sent }, function(error) { // An error occurnetworking }); }); }); 

Para ver qué está escribiendo el usuario, puede hacer que escriban 'Contenido de SMS' dentro de su aplicación. Una vez que abandones tu aplicación, no creo que puedas tomar el text del campo SMS nativo.

 you can use sms: url for opening native sms app for that you need to add <access origin="sms:*" launch-external="yes"/> inside config.xml 

después de agregar la línea anterior, use el enlace sms de la siguiente manera

 <a class="button icon-left ion-android-mail button-balanced button-outline" href="sms:9808350855">SMS</a>