1.APP内部直接发送短息 包括发送单条短信 发送多条短信

APP内部发送短信首先要获取一个发送短信的权限

<uses-permission android:name="android.permission.SEND_SMS"/>

安卓6.0以上的手机要动态获取到这个权限

获取到权限后 就可以在APP内部发送了

/*** 发送短信** @param tel     电话号码* @param content 短息内容*/
private void sendMessage2(String tel, String content) {Intent deliverIntent = new Intent(DELIVERED_SMS_ACTION);PendingIntent deliverPI = PendingIntent.getBroadcast(this, 0, deliverIntent, 0);SmsManager smsManager = SmsManager.getDefault();List<String> divideContents = smsManager.divideMessage(content);for (String text : divideContents) {smsManager.sendTextMessage(tel, null, text, null, deliverPI);}
}

如果想多条发送:For 循环 要发送的短信的联系人手机号码  和单条一样 一条 一条发送

public void sendGroupMessage(String value) {for (UploadContactBean uploadContactBean : selectContactList) {Intent deliverIntent = new Intent(SENT_SMS_ACTION);PendingIntent deliverPI = PendingIntent.getBroadcast(this, 0, deliverIntent, 0);SmsManager smsManager = SmsManager.getDefault();List<String> divideContents = smsManager.divideMessage(value);for (String text : divideContents) {smsManager.sendTextMessage(uploadContactBean.getPhoneNumber(), null, text, null, deliverPI);}ToastHelper.showShortMessage("Send group message success");}
}

2.如果不想获取到SEND_SMS权限  那就选择Intent跳转到短信页面 让用户自己主动发送

如果是单条短信跳转:

/*** 发送短信(掉起发短信页面)** @param tel     电话号码* @param content 短息内容*/
private void sendMessage3(String tel, String content) {if (PhoneNumberUtils.isGlobalPhoneNumber(tel)) {Intent intent = new Intent(Intent.ACTION_SENDTO, Uri.parse("smsto:" + tel));intent.putExtra("sms_body", content);startActivity(intent);}
}

如果想带着多个联系人 群发短信到跳转到短信页面:

public void sendGroupSMSMessage() {String phoneNumber = "";for (UploadContactResponse response : mContactSelectedList) {phoneNumber = phoneNumber + "," + StringUtils.trim(response.getPhoneNumber());}Intent intent = new Intent(Intent.ACTION_SENDTO, Uri.parse("smsto:" + phoneNumber));intent.putExtra("sms_body", content); startActivity(intent);
}

群发Intent和单发Intent短信的区别在于要发短信的联系人单条是:Uri.parse("smsto:" + tel)
多条是:Uri.parse("smsto:" + tel1+","+tel2+","+tel3.....)

GitHub 地址:https://github.com/HuaDanJson/AndroidGetContacts

安卓开发中发送短信的方法 APP内单发短信 群发短信 APP跳转到短信页 单条短信 多条短信Intent跳转相关推荐

  1. Android安卓开发中图片缩放讲解

    安卓开发中应用到图片的处理时候,我们通常会怎么缩放操作呢,来看下面的两种做法: 方法1:按固定比例进行缩放 在开发一些软件,如新闻客户端,很多时候要显示图片的缩略图,由于手机屏幕限制,一般情况下,我们 ...

  2. 安卓开发中的USB转串口通讯

    安卓开发中的USB转串口通讯 本文使用GitHub上开源的"hoho.android.usbserial"USB串口库.该库基于"Android USB Host API ...

  3. Android Studio安卓开发中使用json来作为网络数据传输格式

    如果你是在安卓开发中并且使用android studio,要使用json来作为数据传输的格式,那么下面是我的一些经验. 一开始我在android studio中导入那6个包,那6个包找了非常久,因为放 ...

  4. 安卓开发中的重力感应传感器

    2019独角兽企业重金招聘Python工程师标准>>> 安卓开发中拥有多种传感器,google提供了11种传感器供应用层使用:加速度.磁力.方向.陀螺仪.光线.压力(返回当前压强). ...

  5. 安卓开发中非常炫的效果集合

    安卓开发中非常炫的效果集合 这几天开发的时候,想做一些好看而且酷炫的特效,于是又开始从网上收集各种特效资源.下面给大家一些我喜欢的把,附代码,喜欢的看源代码,然后加到自己项目去把!! 一个开源项目网站 ...

  6. 豁然开朗篇:安卓开发中关于线程那些事(下篇)

    彻底搞懂线程这一块,看这一篇就够了 前言 本系列详细讲解并发的知识,从基础到底层,让大家彻底搞懂线程和锁的原理,当然里面会涉及到一些内存结构的知识,所以如果为了更好地阅读效果,也可以先去看以下这两篇: ...

  7. 安卓开发中遇到的奇奇怪怪的问题(三)

    本文已授权微信公众号:鸿洋(hongyangAndroid)原创首发. 距离上一篇 安卓开发中遇到的奇奇怪怪的问题(二)又过了半年了,转眼也到年底了,是时候拿出点干货了.这篇算是本年度个人印象最深的几 ...

  8. 豁然开朗篇:安卓开发中关于虚拟机那些事

    彻底搞懂虚拟机这一块,看这一篇就够了 前言 作为豁然开朗篇的最终篇,本文要讲解的是虚拟机这块,因为在之前讲解内存与线程的时候,一直都会牵涉到虚拟机和指令集这块,所以,为了让大家再豁然开朗多一次,本文会 ...

  9. 安卓开发中,release安装包安装后,打开app后再按home键,再次点击程序图标app再次重新启动的解决办法

    安卓开发中,release安装包安装后,打开app后再按home键,再次点击程序图标app再次重新启动的解决办法 在开发中我们一般都是直接AS上的安装(Run)按钮,直接安装到真机或模拟器上进行测试, ...

最新文章

  1. 数论 - 算数基本定理的运用 --- nefu 118 : n!后面有多少个0
  2. 【转】android之在activity中控制另一个activity的UI更新_如何在activity之间传递handler...
  3. java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
  4. matlab实现一/多元线性回归
  5. linux 下的两种软件安装方式 —— 源码(编译、安装),编译好的二进制(直接安装)
  6. PHP 实例 AJAX 与 MySQL
  7. java jsp传值乱码_关于JSP乱码问题(页面传值产生的乱码)
  8. 剪贴板是计算机系统,剪贴板在哪里,手把手教你如何打开电脑剪贴板
  9. 开源代码审查工具Sonarqube简单使用
  10. html 二维表_Qrcode 二维码 API 接入方法,任何内容都可以生成二维码
  11. 智慧海洋task04 利用数据进行建模并调参
  12. Module-ScyllaDB技术文档
  13. Pyecharts树状图:地理图表
  14. int? 是什么类型?和int有何区别
  15. 面试应该问公司什么问题
  16. 苹果XS怎么截屏_苹果发布iOS14,有哪些值得一说的亮点
  17. 操作系统春招面试复习之:操作系统概述
  18. 基于LM334芯片的恒流源调试
  19. ARM 安装中文输入法
  20. 一次幸运的校招小米Java后台offer(1),Java面试2021

热门文章

  1. FastDFS的Tracker及Storage节点添加及删除
  2. linux kdump保存的目录,linux kdump搭建
  3. JEOS办公系统,开源免费的OA系统
  4. Mac下改善itunes下载慢的问题
  5. 绿色环保网站管理系统mysql
  6. 【毕业设计】STM32电风扇智能调速器的设计【硬件+原理图+实物+论文】
  7. 【国密】利用gmssl生成SM2证书nginx访问
  8. 贪婪算法(Greedy Algorithms)
  9. 如何更改c 软件的语言,如何将CCleaner语言修改成中文?
  10. 深信服校招编程题-替换字符串里的字符