1.接收短信代码段

var callbacks = [];
var receiver;
var filter;
var main;
var isInit = false;
var isRegistered = false;
var isOlderVersion = false;  //plusReady封装,若使用mui,可直接使用mui.plusReady()方法;
var plusReady = function(){  if (window.plus) {  callback();  } else {  document.addEventListener("plusready", function() {  callback();  }, false);  }
}  /**
* 初始化
*/
var init = function(callback) {  //仅支持Android版本  if (plus.os.name !== 'Android') {  return;  }  try {  var version = plus.runtime.innerVersion.split('.');  isOlderVersion = parseInt(version[version.length - 1]) < 22298;  main = plus.android.runtimeMainActivity();  var Intent = plus.android.importClass('android.content.Intent');  var IntentFilter = plus.android.importClass('android.content.IntentFilter');  var SmsMessage = plus.android.importClass('android.telephony.SmsMessage');  var receiverClass = 'io.dcloud.feature.internal.reflect.BroadcastReceiver';  if (isOlderVersion) {  receiverClass = 'io.dcloud.feature.internal.a.a';  }  filter = new IntentFilter();  var onReceiveCallback = function(context, intent) {  try {  var action = intent.getAction();  if (action == "android.provider.Telephony.SMS_RECEIVED") {  var pdus = intent.getSerializableExtra("pdus");  var msgs = [];  for (var i = 0, len = pdus.length; i < len; i++) {  msgs.push(SmsMessage.createFromPdu(pdus[i]));  }  for (var i = 0, len = callbacks.length; i < len; i++) {  callbacks[i](msgs);  }  }  } catch (e) {}  }  receiver = plus.android.implements(receiverClass, {  a: onReceiveCallback,  onReceive: onReceiveCallback  });  filter.addAction("android.provider.Telephony.SMS_RECEIVED");  callback && callback();  } catch (e) {}
}  //注册短信监听
var register = function(callback) {  callbacks.push(callback);  if (!isInit) {  isInit = isRegistered = true;  plusReady(function() {  init(function() {  setTimeout(function() {  //                  console.log('registerReceiver');  try {  if (isOlderVersion) {  main.a(receiver, filter);  } else {  main.registerReceiver(receiver, filter); //注册监听  }  } catch (e) {}  }, 300);  });  });  } else if (!isRegistered) {  //      console.log('registerReceiver');  try {  if (isOlderVersion) {  main.a(receiver, filter);  } else {  main.registerReceiver(receiver, filter); //注册监听  }  } catch (e) {}  }
};
//注销监听,在登录成功或从登录页跳转到其它页面后调用
var unregister = function(callback, remove) {  for (var i = 0, len = callbacks.length; i < len; i++) {  if (callbacks[i] === callback) {  callbacks.splice(i, 1);  }  }  if (remove && !callbacks.length) {  if (main && isRegistered) {  try {  if (isOlderVersion) {  main.a(receiver);  } else {  main.unregisterReceiver(receiver);  }  } catch (e) {}  isRegistered = false;  //          console.log('unregisterReceiver');  }  }
};

2.发送短信代码段

sendSms(fp, tp, msg1) {var msg = plus.messaging.createMessage(plus.messaging.TYPE_SMS);if (fp) {let a = [];a.push(fp);msg.from=fp}if (tp) {let b = [];b.push(tp);msg.to = tp; //要发送短信的号码}msg.body = msg1; //短信内容msg.bodyType = "text/plain"msg.silent = true;console.log('发送到号码:'+msg.to)plus.messaging.sendMessage(msg, function() {console.log("success")}, function(error) {console.log("faild" + error.message)});}

3.APP开放权限

var permissionArr = ['android.permission.READ_SMS', 'android.permission.RECEIVE_SMS','android.permission.RECEIVE_MMS', 'android.permission.SEND_SMS']

UniApp 自动收发短信相关推荐

  1. 用串口操作手机收发短信总结

    终于完成了用Java操作手机的模块,遇到了不少麻烦,在这里总结一下,也希望对大家有所帮助. 可能有很多人会问,现在的手机与计算机连接都是USB口,那研究串口手机通讯有什么意义?我开始也是这样考虑,所以 ...

  2. 【物联网】AT指令|AT返回错误|AT 指令 收发短信和GPRS上网 SIM508/548

    目录 常用AT命令解释 AT 指令 收发短信和GPRS上网 SIM508/548 AT指令返回错误 解释 CME错误: CMS错误 CME错误(英文) CMS 错误(英文) 短信通信的几种情况和CMS ...

  3. 【折腾】M590E启动 收发短信 基站定位

    最近入手了一块M590E gsm模块 价格相当低(因为卖家没资料) 玩了之后发现这东西还是不错的 物美价廉 下面把折腾过程中遇到的问题和解决方案整理一下: 安装 总共要接一个二极管,一个电解电容(铝电 ...

  4. 利用SerialPort类实现收发短信(C# 2.0)

    作者:veryhappy(wx.net) 在.NET 1.1版本中微软并没有封装一个串口操作的类,但是我们可以在网络上找到通过WIN32 API读写文件方式访问串口的开源类库,比如:JustinIO. ...

  5. .Net/C# 实现 中国移动 CMPP v3.0 ISMG - SP 收发短信的 SP 客户端 (CMPP SP Client)

    /*  .Net/C# 实现 中国移动 CMPP v3.0 ISMG <-> SP 收发短信的 SP 客户端 (CMPP SP Client)  本程序严格按  <中国移动通信企业标 ...

  6. 用电脑发短信_重磅!一个软件实现电脑上接打手机电话、收发短信、传文件、屏幕镜像!...

    点击箭头处"蓝色字",关注我们哦!! Dell Mobile Connect 本身是一款专门为 Dell 指定设备提供的专门为计算机与 iOS 或者 Android 智能手机之间进 ...

  7. 编写了一个通过手机短信平台收发短信的软件

    看过我写的"使用Ajax技术编写的一个网站"这篇博客的网友也许已经知道我现在是做什么工作的了.由于工作的原因,需要在网络上从事一些进行商业营销的活动,以帮助工作的开展.比如:介绍公 ...

  8. Android自动填充短信验证码

    自动拦截短信实际上就是在系统注册一个BroadcastReceiver,然后通过设置拦截短信的: filter.addAction("android.provider.Telephony.S ...

  9. Android 接收和收发短信

    收发短信应该是每个手机最基本的功能之一了,即使是许多年前的老手机也都会具备这项功能,而Android作为出色的智能手机操作系统,自然也少不了在这方面的支持.每个Android手机都会内置一个短信应用程 ...

最新文章

  1. Spring-AOP @AspectJ进阶之绑定连接点方法的返回值
  2. vue中使用checkbox
  3. Flink随笔(1)
  4. linux-防火墙有关知识积累
  5. LeetCode 51. N皇后 / 52. N皇后 II(回溯)
  6. No style sheet with given id found错误
  7. 快速消费品行业的营销费用的管理(3)----营销费用预算管理
  8. python的__name__
  9. dz中footer.php在哪找,去掉DZ顶部标题,美化底部左下方版权,详细教程
  10. Intent的基本知识
  11. 简单实用的vue常用后台管理模板框架
  12. 通过简单的C语言解决找钱问题
  13. 产品思维:什么是互联网思维
  14. adc0808模数转换实验报告_模数转换实验报告
  15. 四、Vue项目去哪儿网首页推荐和周末游组件并使用Axios获取数据
  16. 判断两个字符串是不是互为anagrams
  17. Johnson 全源最短路径算法
  18. 高新兴与中兴通讯再合作:受让中兴物联11.43%股权
  19. IO接口标准(3):HCSL和LPHCSL
  20. 00 后居然都已经月薪十万了,你还有什么理由不努力?

热门文章

  1. 【论文笔记】3D Human Pose Estimation with Spatial and Temporal Transformers
  2. 分享几款常用的嵌入式软件开发工具
  3. 厦大计算机网络实验,计算机网络安全导论
  4. 如何从ip服务器所用系统,系统运维|如何使用phpIPAM来管理IP地址和子网
  5. 项目上线那些事之Can't connect to X11 window server异常
  6. 打开管家婆软件提示:已停止工作/程序无响应
  7. python GUI demo(tkinter)
  8. Shopify建站必不可少的5个效率提升插件
  9. [admin]-01
  10. codeforces 1095C Powers Of Two