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.
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:
Oder,
Übrigens, das Plugin funktioniert nur für Android, zu Ihrer Information.
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");
});
}
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
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>
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