发送和阅读通过本地短信应用程序cordova发送的短信内容

时间:2014-10-26 12:53:53

标签: android ios cordova sms ionic-framework

我正在构建一个离子/ cordova应用程序。在我的应用程序中,用户可以单击电话号码以发送短信。单击该号码时,将打开本机SMS应用程序,然后用户可以键入他/她自己的SMS并发送SMS。有什么办法,从我的应用程序中我可以获得短信内容吗?

提前致谢。

5 个答案:

答案 0 :(得分:8)

当您使用ionic / cordova时,需要SMS插件才能完成此类工作。

除了jsmobile短信插件外,还有另一个有更多API的插件: http://plugins.cordova.io/#/package/com.rjfun.cordova.sms

如说明中所述:

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

活动

'onSMSArrive'

您可以通过以下任一方式获取短信内容:

  1. 实现用户界面,获取用户输入,并调用插件的API发送短信。
  2. 或者,

    1. 让默认的短信应用发送消息,然后从发送的框中读取短信。
    2. BTW,该插件仅适用于Android,仅供参考。

答案 1 :(得分:1)

cordova-plugin-sms选项,正如@MikeX建议的那样,但请注意其许可证不是免费使用。

所以我选择使用Phonegap-SMS-reception-plugin,这是麻省理工学院的许可证。

然后它只是

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

答案 2 :(得分:0)

您是说您想知道用户在其他应用中键入了什么内容?如果是这样,我不相信你可以。理论上,您可以尝试跳过真正的SMS应用程序并使用插件:http://plugins.cordova.io/#/package/com.jsmobile.plugins.sms

答案 3 :(得分:0)

现在有用于cordova扩展的离子包装纸。您可以使用$ cordovaSMS(docs here

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

  });

});

要查看用户输入的内容,您可以让他们撰写短信内容'在你的应用程序内一个你离开你的应用程序,我不认为你可以从本地短信领域中获取文本

答案 4 :(得分:0)

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

添加以上行后使用sms链接如下

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