Android开发 SmsManager发送短信详解,看这一篇就够了!

Android开发 SmsManager发送短信

SmsManager基础知识

核心方法

1.getDefault():获取SmsManager实例。

2.发送一条正常短信:
public void sendTextMessage(destinationAddress, scAddress, text,sentIntent, deliveryIntent)
#destinationAddress:目标电话号码
#scAddress:服务中心的地址;为null时使用当前默认消息的目标端口号
#text:短信内容
#sentIntent:发送方发送短信成功或失败的广播,如不需要监听回调则可设置为null
#deliveryIntent:接收方接收短信成功或失败的广播,如不需要监听回调则可设置为null

3.发送一条大于70字数的短信:
public void sendMultipartTextMessage(destinationAddress, scAddress, parts, sentIntents,deliveryIntents)
参数与第一个方法相似,需要注意的是
#parts:是一个String集合,短信内容被分割成多部分,
#sentIntents:是一个PendingIntent集合,如不需要监听回调则也可设置为null

4.public ArrayList divideMessage(String text)
当短信内容超过70字数时,调用该方法切分。得到上一个方法的parts

所需要的权限

    <uses-permission android:name="android.permission.READ_PHONE_STATE" />访问电话状态
    <uses-permission android:name="android.permission.SEND_SMS" />发送短信
    <uses-permission android:name="android.permission.RECEIVE_SMS" />接收短信
    <uses-permission android:name="android.permission.READ_SMS" />读取短信内容

/根据自己项目需要自主选择添加权限,这些权限是危险权限,Android 6.0以上需要动态申请,这里不做赘述

发送短信

发送短信的地方没有多大限制,只要能拿到上下文就行,可以在MainActivity中发送

   for (int i=0;i<numbers.length;i++){
   //numbers是号码集合,通过for循环实现群发
                    //发送短信
                    try {
   
                        SmsManager sManager = SmsManager.getDefault();//获取SmsManager 实例
  
  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值