Cordova开发Android应用:实现唤起默认短信应用并填充内容
问题:Cordova开发Android应用,用cordova-sms-plugin唤起默认短信应用并自动填充手机号与内容是否可行?
我正在使用Cordova开发Android应用,采用cordova-sms-plugin插件,希望实现点击按钮后唤起手机默认短信应用,并自动填充手机号与短信内容,以下是我的代码,请问该需求是否可实现?
<input id="numberTxt" placeholder="Enter mobile number" value="" type="tel" /> <textarea id="messageTxt" placeholder="Enter message"></textarea> <input type="button" onclick="app.sendSms()" value="Send SMS" />
var app = { sendSms: function() { var number = document.getElementById('numberTxt').value.toString(); /* iOS: ensure number is actually a string */ var message = document.getElementById('messageTxt').value; console.log("number=" + number + ", message= " + message); //CONFIGURATION var options = { replaceLineBreaks: false, // true to replace \n by a new line, false by default android: { intent: 'INTENT' // send SMS with the native android SMS messaging //intent: '' // send SMS without opening any other app, require : android.permission.SEND_SMS and android.permission.READ_PHONE_STATE } }; var success = function () { alert('Message sent successfully'); }; var error = function (e) { alert('Message Failed:' + e); }; sms.send(number, message, options, success, error); } };
回答
你的需求完全可以实现,且当前代码的核心配置已经正确:
- 你在
options.android.intent中设置了'INTENT',这正是cordova-sms-plugin用于唤起Android系统默认短信应用的关键参数。调用sms.send()后,插件会通过Android隐式Intent启动默认短信应用,并自动将你传入的手机号number和短信内容message填充到对应输入框中。 - 额外注意事项:
- 确认已正确安装插件:执行
cordova plugin add cordova-sms-plugin - 此方式无需申请
SEND_SMS和READ_PHONE_STATE权限,因为短信发送操作由系统默认应用完成,权限由其持有 - 若出现填充失败,可检查手机号格式(如是否包含非法字符)、短信内容是否符合系统长度限制
- 确认已正确安装插件:执行
内容的提问来源于stack exchange,提问作者kavimalar p
相关产品推荐
相关产品推荐

