发送短信在Cordova 3.4

时间:2014-04-13 05:00:18

标签: java android html cordova

我是cordova 3.4的新人。我想写发送短信应用程序。我从github得到SMSPlugin但我想自己写这个。我写了一个像这样的html文件并在root / www中复制,我在root / www / js中编写了一个java脚本文件。但是当我运行应用程序时,我没有看到页面中的按钮!为什么?有什么问题?我怎么能写这个应用程序?

我将Android文件(Activity)的名称从AndroidManifest手动更改为我的班级,这不是问题,是吗?我改变了#id;在widget标签中从config.xml手动到我的包。

的index.html:

 <html>
<head>
    <meta charset="utf-8" />
    <meta name="format-detection" content="telephone=no" />
    <!-- WARNING: for iOS 7, remove the width=device-width and height=device-height attributes. See https://issues.apache.org/jira/browse/CB-4323 -->
    <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" />
    <link rel="stylesheet" type="text/css" href="css/index.css" />
    <title>Hello World</title>


    <script type="text/javascript">
   var txtMSG = "";
        function onDeviceReady(){
            document.getElementById("deviceName").innerHTML= device.model;
            document.getElementById("version").innerHTML= device.cordova;
            document.getElementById("mobilePlatform").innerHTML= device.platform;
            document.getElementById("platformVersion").innerHTML= device.version;
            document.getElementById("uuid").innerHTML= device.uuid;
            document.getElementById("sendSMS").style.display="block";
        }
        function displayTextMessage(msg){
            alert(msg);
            $('#text-messages').prepend('<div>' + msg + '</div>');
        } 
        function sendConsole(){
            var message = "This_is_a_test"
            DeviceInfo.SendConsole({text: message}, function(){
                alert("success");
            }, function(){
                alert("fail");
            });
        }
        function SendSMS(){
            console.log("-------------------Start----------------------");
            DeviceInfo.SendSMS({phoneNumber:[document.getElementById('cellNumber').value], text: document.getElementById('textMessage').value}, function(){
                alert("success");
            }, function(){
                alert("fail");
            });
            console.log("---------------------End--------------------");
        }
        /** Called when browser load this page*/
        function init(){
            document.addEventListener("deviceready", onDeviceReady, false);
        }
    </script>


</head>

<body>
    <input id="sendSMS" style="display:none" type="button" ontouchend="SendSMS()" onclick="SendSMS()" value="Send SMS To:" />
    <!-- <button onClick="SendSMS();">Send SMS</button> <br> -->
    <input id="cellNumber" type="text" style="width:100%" value="9126012134" onclick="this.select()" ontouchend="this.select()" />
    <textarea id="textMessage" style="width:100%; height:100px">Plugin Example</textarea>

    <input id="sendConsole" style="display:none" type="button" ontouchend="sendConsole()" onclick="sendConsole()" value="Send Console Log" />
    <div id="text-messages" style="border:solid 1px #efefef; padding 10px"></div>
</body>



 </html>

DeviceInfo.js:

  var DeviceInfo = function () { };

  DeviceInfo.callMethod = function (methodName, content, success, fail) {
return PhoneGap.exec(function (args) {
    success(args);
}, function (args) {
    fail(args);
}, 'DeviceInfo', methodName, [content]);
 }

DeviceInfo.GetPhoneNumber = function (content, success, fail) {
  return DeviceInfo.callMethod('getPhoneNumber', content, success, fail);
};

DeviceInfo.SendSMS = function (content, success, fail) {
  return DeviceInfo.callMethod('SendSMS', content, success, fail);
};

DeviceInfo.SendConsole = function (content, success, fail) {
   return DeviceInfo.callMethod('SendConsole', content, success, fail);
};

感谢您的建议

1 个答案:

答案 0 :(得分:0)

javatechig here开发的ghithub上有一个插件,但只适用于旧的cordova / phonegap版本。这个fork https://github.com/aharris88/phonegap-sms-plugin适用于最近版本的cordova,并且经常更新。阅读&#34; readme.md&#34;例如和更多的信息。

  

这个Android Phonegap插件允许您使用本机短信管理器或通过调用默认的Android短信应用程序轻松地在Android中发送短信