wake-up-neo.com

Senden und lesen Sie die SMS Inhalt gesendet über native SMS App Cordova

Ich baue eine ionische/Cordova-App. In meiner Anwendung kann der Benutzer auf eine Telefonnummer klicken, um eine SMS zu senden. Wenn Sie auf diese Nummer klicken, wird die native SMS-App geöffnet, und der Benutzer kann seine eigene SMS eingeben und die SMS senden. Gibt es eine Möglichkeit, aus meiner App den Inhalt von SMS abzurufen?

Danke im Voraus.

10
Rashidul

Wenn Sie ionic/cordova verwenden, ist für diese Arbeit ein SMS -Plugin erforderlich. 

Neben dem jsmobile SMS Plugin gibt es ein weiteres mit mehr APIs: http://plugins.cordova.io/#/package/com.rjfun.cordova.sms

Wie in der Beschreibung erwähnt:

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);

Veranstaltungen

'onSMSArrive'

Sie können den Inhalt von SMS auf eine der folgenden Arten erhalten:

  1. implementieren Sie die Benutzeroberfläche, erhalten Sie Benutzereingaben und rufen Sie die Plugin-API zum Senden der SMS auf.

Oder,

  1. lassen Sie die Standardanwendung SMS die Nachricht senden, und lesen Sie dann SMS aus der gesendeten Box.

Übrigens, das Plugin funktioniert nur für Android, zu Ihrer Information.

8
MikeX

Es gibt die Option cordova-plugin-sms , wie von @MikeX vorgeschlagen, jedoch ist zu beachten, dass die Lizenz nicht frei verwendet werden kann.

Also wählte ich Phonegap-SMS-Empfangs-Plugin , was MIT Lizenz ist.

und dann einfach mal

 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");
    });
}
1
yishaiz

Möchten Sie wissen, was der Benutzer in eine andere App eingegeben hat? Wenn ja, glaube ich nicht, dass du es kannst. Theoretisch können Sie versuchen, die echte SMS - App zu überspringen und ein Plugin zu verwenden: http://plugins.cordova.io/#/package/com.jsmobile.plugins.sms

0
Raymond Camden
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

verwenden Sie nach dem Hinzufügen der obigen Zeile den SMS-Link wie folgt

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

Heutzutage gibt es ionische Verpackungen für Cordova-Erweiterungen. Sie können $ cordovaSMS verwenden ( docs hier )

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
      });

  });

});

Um zu sehen, was der Benutzer eingibt, können Sie den SMS-Inhalt in Ihre App schreiben. Wenn Sie Ihre App verlassen, kann der Text aus dem nativen Feld SMSnicht übernommen werden

0
Connor Leech