You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 05:06:27