【发布时间】:2015-12-10 08:00:11
【问题描述】:
我是 Cordova 的新手,我们将不胜感激。
我在 VS2015 中创建了一个新的 Cordova 项目,并将 Cordova SMS 插件添加到我的项目中 (https://www.npmjs.com/package/cordova-sms-plugin)。
我将此代码添加到 /www/scripts/index.js 函数 onDeviceReady(根据插件的文档):
function onDeviceReady() {
// Handle the Cordova pause and resume events
document.addEventListener( 'pause', onPause.bind( this ), false );
document.addEventListener( 'resume', onResume.bind( this ), false );
var numberString = "aoeuaeu";
var bypassAppChooser = true;
//CONFIGURATION
var options = {
replaceLineBreaks: false,
android: {
intent: 'INTENT' // send SMS with the native android SMS messaging
}
};
var successSMS = function () { alert('Message sent successfully'); };
var errorSMS = function (e) { alert('Message Failed:' + e); };
sms.send("0811231234", "Testing123", options, successSMS, errorSMS);
我使用 Debug、Android、Ripple - Nexus (Galaxy) 选定选项调试项目。当我在 sms.send 代码行上放置一个断点并为“sms.send”添加一个监视时,我可以看到该对象存在。
当我单步执行时,sms.js 中的这一行似乎是执行的最后一行:
// fire
exec(
success,
failure,
'Sms',
'send', [phone, message, androidIntent, replaceLineBreaks]
);
然后我在 Ripple 中收到以下错误消息:
'Sms.send 我们似乎遗漏了一些东西 :(虽然您可以填写 textarea 以将 json 对象传递给您要执行的回调,但这有点酷)。'
我可以看到该行中的所有对象都已定义(成功、失败、电话、消息、androidIntent、replaceLineBreaks)。当我“进入”这一行时,它会继续执行ripple.js 中的代码,但对于一个人来说,这变得难以理解,因为该文件中没有换行符。
我做错了什么?我已经阅读了所有可以找到并搜索过 stackoverflow 问题的文档,但似乎找不到任何问题的解决方案。
我已经上传了整个项目(压缩),可以在以下位置下载: https://drive.google.com/file/d/0BwWgTMh-JLbfNHV0MlE5Yk5IZ3M/view?usp=sharing
提前致谢
【问题讨论】:
标签: javascript android jquery cordova visual-studio-2015