uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、H5、以及各种小程序(微信/支付宝/百度/头条/QQ/钉钉)等多个平台官网地址
因为业务逻辑需要调用短信功能,但是uni-app 中未提供相关接口。查看uni-app的框架图可以看出
是可以使用native.js去调用的android API的

native.js 介绍及文档:https://ask.dcloud.net.cn/article/88

于是乎,在百度上搜索了 android 发送短信的 代码 将其改写成native.js调用
原android代码

public void sendMessages(String sPhoneNum, String sMesage, int id){
SubscriptionInfo sInfo = null; final SubscriptionManager sManager = (SubscriptionManager)this .getSystemService(Context.TELEPHONY_SUBSCRIPTION_SERVICE);
List<SubscriptionInfo> lists = sManager.getActiveSubscriptionInfoList();
if(lists == null || lists.isEmpty()){ return;
}
sInfo = lists.get(id);
if(sInfo != null){
int subId = sInfo.getSubscriptionId();
SmsManager managers = SmsManager.getSmsManagerForSubscriptionId(subId);
ArrayList<String> arrayListlist = managers.divideMessage(sMesage);
managers.sendMultipartTextMessage(sPhoneNum,null,arrayLis tlist,null,null); }
}

native.js代码:
//通过native.js 调用android API 发送短信

sendMessage1() {if (plus.os.name == "Android") {                 //获取当前MainActivityvar main = plus.android.runtimeMainActivity();//获取SystemServicevar sManager = main.getSystemService("telephony_subscription_service");console.log(sManager);//获取所有卡列表var subscriptionInfoList = plus.android.invoke(sManager,"getActiveSubscriptionInfoList");//获取卡信息   var sInfo = plus.android.invoke(subscriptionInfoList,"get",0);//获取卡idvar id = plus.android.invoke(sInfo,"getSubscriptionId");console.log(id);//获取卡id获取SMSManagers对象var managers = plus.android.invoke("android.telephony.SmsManager","getSmsManagerForSubscriptionId",id);var eMessage = "哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈--------------";//分割短信内容 短信规定不能大于70字,大于70会被分割,分开发送var list = plus.android.invoke(managers,"divideMessage",eMessage);//发送短信var returns = plus.android.invoke(managers,"sendMultipartTextMessage","18829221189",null,list,null,null);
}

另附一种解决方案 使用H5+掉起系统的短信发送界面

// 通过 h5+ 掉起 系统短信发送界面sendMessage2() {//创建一条信息  短信/彩信/邮件var msg = plus.messaging.createMessage(plus.messaging.TYPE_SMS); msg.to = ['18829221189'];  //发给谁msg.body = '艾欧尼亚昂扬不灭';// msg.silent = true;  静默发送(后台发送) 不好使//发送信息plus.messaging.sendMessage(msg,function (){uni.showModal({content: 'successs',showCancel: false});},function(){uni.showModal({content: 'error',showCancel: false});});

uni-app中使用native.js调用android API实现双卡发送短信相关推荐

  1. Android软件开发之发送短信与系统短信库解析(三十)

    Android软件开发之发送短信与系统短信库解析 雨松MOMO原创文章如转载,请注明:转载至我的独立域名博客雨松MOMO程序研究院,原文地址:http://www.xuanyusong.com/arc ...

  2. android 拨打电话与发送短信

    通过调用android系统提供的电话与短信功能,可以简单的实现发送短信,拨打电话,但是必须在AndroidManifest.xml里面配置相应权限,定位到 1 <application 2 3 ...

  3. 【Android】Android6.0发送短信Demo

    整理一下使用SmsManager类发送短信的方法. https://developer.android.com/reference/android/telephony/SmsManager.html ...

  4. zabbix调用sendsms.py脚本,发送短信

    zabbix调用python发送短信的操作方法和配置邮件报警类似.过程参考zabbix配置部分. 下面是python的脚本: [root@zabbix01 alertscripts]# cat sen ...

  5. html发送短信倒计时,js实现5秒倒计时重新发送短信功能

    本文实例讲述了js实现倒计时重新发送短信验证码功能的方法.分享给大家供大家参考,具体如下: js-手机发送短信倒计时 button{ width: 100px; height: 30px; borde ...

  6. 如何调用外部webservice 接口来发送短信

    WebService接口 当前版本V1.2 Web Service地址:  GB2312网关 http://gateway.woxp.cn:6630/gb2312/ws_api/WebSMS.asmx ...

  7. Android 双卡发送短信

    场景: 手机中有两张卡时,如何选择由哪张卡发送短信 实现代码: private void sendMessage() {String SEND = "sms_send";Pendi ...

  8. Android学习--写一个发送短信的apk,注意布局文件的处理过程!!!

    刚开始写Android程序如图发现使用了findViewById方法之后输出的话居然是null(空指针错误),也就是说这个方法没有成功.网上说这样写是在activity_main .xml去找这个ID ...

  9. android开发发送短信,Android开发入门之发送短信

    第一步:新建一个Android工程命名为03.Sms目录结构如下图: 第二步:修改activity_main.xml布局文件代码如下: xmlns:tools="http://schemas ...

最新文章

  1. php将数组最后一个单元弹出,php array_pop()数组函数将数组最后一个单元弹出(出栈)...
  2. Nhibernate 多对多级联删除
  3. 轻松看懂java设计模式简单工厂模式
  4. 新站如何快速的度过考察期并避免进入沙盒期
  5. android dialog 隐藏状态栏_Flutter-最近搞了个项目-启动页Splash,Navigator.pop无法关闭Dialog...
  6. 17.1.1.3 Creating a User for Replication 创建一个用于用于复制:
  7. 无法启用iPhone、iPhone 启用错误?用Tenorshare ReiBoot 及 4MeKey 解决
  8. 揭秘硅谷传奇:惠普的创业故事
  9. 虚拟机与本地电脑时间同步命令
  10. 无线路由如何快速设置WDS扩展网络
  11. 中柏平板bios对照表_中柏平板设置u盘启动图文教程
  12. STM32与RC522简单公交卡系统的设计
  13. Bilateral Filter、Cross/Joint Bilateral Filter
  14. 王道考研计算机网络第五章——传输层
  15. 有约束的优化问题求解——Karush-Kuhn-Tucker (KKT)条件
  16. AGC049 A - Erasing Vertices(概率期望)
  17. 树莓派在下载Wiringpi时遇到的问题1.软件包 wiringpi 没有可安装候选2.失败:域名解析暂时失败。 wget: 无法解析主机地址 “project-downloads.drogon.ne
  18. android studio微博对话框,小白的Android studio新浪微博一键分享记录
  19. 从阿里旺旺看淘宝和ebay的差异,看中国人的信任危机
  20. 汇川AM402和串口调试助手自由协议通信

热门文章

  1. 云店云端服务器收银机怎么注册,T+云加密产品,已经加了站点。服务器上如何重新注册-...
  2. 雨量小能手压电式雨量监测站不堵不站维护简单
  3. wamp安装多版本php方法,wamp 安装多版本php
  4. 【转载】Android 5.1 Art Hook 技术分享
  5. C#模板打印excel
  6. 新算力下的2019 AI
  7. 国家重点实验室分布转
  8. 跨境电商多平台运营库存管理难 选对erp软件很重要
  9. 【转】android如何添加权限
  10. 智慧城管—城市综合管理服务平台解决方案