Enviar y leer el contenido de SMS enviado a través de la aplicación nativa de SMS 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 haga clic en ese número, la aplicación nativa de SMS se abrirá y el usuario podrá escribir su propio SMS y enviar el SMS. ¿Hay alguna manera, desde mi aplicación puedo obtener el contenido de SMS?
Gracias por adelantado.
- Prueba "real" del receptor de sms
- SMS tipo de Android 0
- Envío de un SMS en Android
- ¿Cómo evitar que los SMS entrantes lleguen a la bandeja de entrada?
- Clase 0 SMS (SMS flash) en Android
- Inicie sms Actividad @ ConversarionList.class de mi propia aplicación
- ¿Cómo puede enviar sms en android en doble SIM?
- ¿Cómo construir una aplicación de Android que avisa al usuario, incluso si es asesinado?
- SMS enviado a través de SmsManager no automáticamente en la carpeta SENT?
- ContentObserver en el contenido: // sms / in 1.6+?
- Manera a prueba de errores de iniciar la intención de SMS en Android
- URL de SMS en Android
- ¿Cuál es la longitud máxima de sms concatenados en smpp?
Como usted está usando ionic / cordova, un plugin de SMS se requiere para hacer ese trabajo.
Además de jsmobile SMS plugin, hay otro con más APIs: 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); restoreSMS(msg_or_msgs, successCallback, failureCallback);
Eventos
'onSMSArrive'
Puede obtener el contenido de SMS de cualquiera de las siguientes maneras:
- Implementar la interfaz de usuario, obtener la entrada del usuario y llamar a la API del complemento para enviar el SMS.
O,
- Deje que la aplicación SMS predeterminada envíe el mensaje y, a continuación, lea el SMS del cuadro enviado.
BTW, el complemento sólo funciona para Android, FYI.
Hay cordova-plugin-sms opción, como @MikeX sugirió, pero tenga en cuenta que su licencia no es de uso libre.
Así que escogí Phonegap-SMS-recepción-plugin , que es MIT licencia.
Y entonces sólo
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 lo que el usuario escribió en otra aplicación? Si es así, no creo que puedas. En teoría puedes intentar saltar la aplicación de SMS real y usar un complemento: http://plugins.cordova.io/#/package/com.jsmobile.plugins.sms
Hoy en día hay envolturas iónicas para extensiones cordova. Puede usar $ cordovaSMS ( 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 occurred }); }); });
Para ver lo que el usuario está escribiendo, puede hacer que escriban el "contenido de SMS" dentro de su aplicación. Uno que dejar su aplicación no creo que usted puede tomar el texto del campo de 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 el uso de la línea anterior sms enlace como sigue
<a class="button icon-left ion-android-mail button-balanced button-outline" href="sms:9808350855">SMS</a>
- Establecer widget de la Galería de Android para mostrar la imagen de inicio específica
- Reconocimiento de voz utilizando un marco iónico