发短信

方式一:直接发送短信

1、添加发送短信的权限在manifast文件中。

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

2、获取android.telephony.SmsManager对象(PS:android.telephony.gsm.SmsManager已经废弃)。

SmsManager smsManager = SmsManager.getDefault();

3、声明一个短信内容的常量。

String content = "Hello World!";

4、将短信内容分块,发送一条短信最多能够发送70个中文字符,超过这个值系统会将短信内容分为多块进行发送。

ArrayList<String> list = smsManager.divideMessage(content);

5、分条进行发送。

for (int i = 0; i < list.size(); i++) {
                smsManager.sendTextMessage("10086", null, list.get(i), null, null);
            }

方式二:调用系统的发送短信的界面,需要输入号码

1、创建意图

Intent intentFinalMessage = new Intent(Intent.ACTION_VIEW);

2、设置类型

intentFinalMessage.setType("vnd.android-dir/mms-sms");
      3、打开系统短信界面

startActivity(intentFinalMessage);

方式三:调用系统的发送短信的界面,不需要输入号码

1、创建Uri,设置行为和号码

Uri uri2 = Uri.parse("smsto:"+10086);

2、创建意图。

Intent intentMessage = new Intent(Intent.ACTION_VIEW,uri2);
    3、打开系统短信界面,号码已经填写,只需填写要发送

startActivity(intentMessage);

三、

利用类 SmsManager 发送信息, smsManager 为 SmsManager 一个默认的实例. SmsManager smsManager = SmsManager.getDefault();

  smsManager.sendTextMessage(destinationAddress, scAddress, text, sentIntent, deliveryIntent)

sendTextMessage(String destinationAddress, String scAddress, String text, PendingIntent sentIntent, PendingIntent deliveryIntent) 参数说明:

1、destinationAddress:给这个号码发送短信。

2、scAddress:使用这个号码发送短信,为null时表示使用本机发送。

3、text:短信内容。

4、sentIntent:发送短信成功或失败之后发送广播。

5、deliveryIntent:对方接受到短信之后发送广播。

四、发送广播的短信发送

1、注册广播

注册自己发送短信的广播:

SEND_SMS_ACTION = "3";
        registerReceiver(new BroadcastReceiver(){

@Override
            public void onReceive(Context context, Intent intent) {
                //根据结果码判断是否发送成功
                if(Activity.RESULT_OK == getResultCode()){
                    Toast.makeText(MainActivity.this, "发送成功", Toast.LENGTH_SHORT).show();
                }else{
                    Toast.makeText(MainActivity.this, "发送失败", Toast.LENGTH_SHORT).show();
                }
            }
            
        }, new IntentFilter(SEND_SMS_ACTION));

注册对方接受到短信的广播:

BACK_SMS_ACTION = "4";
        registerReceiver(new BroadcastReceiver(){

@Override
            public void onReceive(Context context, Intent intent) {
                //只要接收到这个广播,表示接收短信成功
                Toast.makeText(MainActivity.this, "对方接收到短信", Toast.LENGTH_SHORT).show();
            }
            
        }, new IntentFilter(BACK_SMS_ACTION));

2、发送 短信,监听发送情况、监听对方接受情况,如果短信发送成功或失败

PendingIntent.getBroadcast(MainActivity.this, 0, new Intent(SEND_SMS_ACTION), 0)会发送广播,

如果对方接受到短信

PendingIntent.getBroadcast(MainActivity.this, 0, new Intent(BACK_SMS_ACTION), 0));会发送广播

for (int i = 0; i < list.size(); i++) {
                smsManager.sendTextMessage("10086", null, list.get(i),
                        PendingIntent.getBroadcast(MainActivity.this, 0, new Intent(SEND_SMS_ACTION), 0),
                        PendingIntent.getBroadcast(MainActivity.this, 0, new Intent(BACK_SMS_ACTION), 0));
           }

五、使用smsManager发送其它格式的短信

1、sendDataMessage(String destinationAddress, String scAddress, short destinationPort, byte[] data, PendingIntent sentIntent, PendingIntent

  deliveryIntent)

  其它参数一样,第三个参数short destinationPort,给这个号码的这个端口号发送这条短信,短信内容为字节数组格式。

 2、sendMultipartTextMessage(String destinationAddress, String scAddress, ArrayList<String> parts,ArrayList<PendingIntent> sentIntents,   ArrayList<PendingIntent>  deliveryIntents)

  给这个号码发送多条短信。

Android发短信功能相关推荐

  1. android 自动发彩信,Android编程实现定时发短信功能示例

    本文实例讲述了Android编程实现定时发短信功能.分享给大家供大家参考,具体如下: 第一,要实现发短信的功能,必须要用到android系统中发短信的权限,即在AndoridManifest.xml中 ...

  2. android+发短信示例,Android编程实现定时发短信功能示例

    本文实例讲述了Android编程实现定时发短信功能.分享给大家供大家参考,具体如下: 第一,要实现发短信的功能,必须要用到android系统中发短信的权限,即在AndoridManifest.xml中 ...

  3. 小程序短信验证码登录,1分钟实现小程序发短信功能,借助云开发10行代码实现短信验证码登录小程序

    老规矩先看效果图 普通短信 验证码短信 今天被云开发官方告知,云开发支持发短信功能了,然后就迫不及待的来尝下鲜. 进入官方文档一看,云开发给咱们开发者的福利还真不小. 不仅仅可以很方便的使用短信功能, ...

  4. 苹果七绕过基带激活2020_苹果研发无信号发短信功能

    据外媒报道,苹果最近停止了一个极好的项目开发,该项目原本是指苹果与英特尔合作开发的新技术,可以让iPhone绕过蜂窝网络的远程无线电波,在手机无服务的情况下与其他iPhone互发短信.类似于对讲机,只 ...

  5. iOS调用系统发短信功能详解

    iOS调用系统的发短信功能可以分为两种:1,程序外调用系统发短信.2,程序内调用系统发短信.第二种的好处是用户发短信之后还可以回到app.这对app来说非常重要. 程序外调用系统发短信 这个方法其实很 ...

  6. 前端H5唤起手机打电话(拨号)和发短信功能

    1.拨打电话 2.发送短信 3.移动web页面自动探测电话号码 4.使用wtai协议进行拨打电话 5.关于微信页面出现屏蔽的情况,采用以下解决方案 在移动端页面,有时候我们需要唤起用户手机的打电话功能 ...

  7. H5唤起手机打电话(拨号)和发短信功能

    H5唤起手机打电话(拨号)和发短信功能 拨打电话 发送短信 移动web页面自动探测电话号码 使用wtai协议进行拨打电话 关于微信页面出现屏蔽的情况,采用以下解决方案 在移动端页面,有时候我们需要唤起 ...

  8. Java实现阿里云发短信功能

    一 点睛 1 阿里云短信开发文档 https://helpcdn.aliyun.com/document_detail/55284.html 2 阿里云AK申请 https://usercenter. ...

  9. iOS开发之系统发短信功能详解

    iOS调用系统的发短信功能可以分为两种:1,程序外调用系统发短信.2,程序内调用系统发短信.第二种的好处是用户发短信之后还可以回到app.这对app来说非常重要. 程序外调用系统发短信 这个方法其实很 ...

  10. Android安卓——实现发短信功能的代码

    本处给出的是简单的发短信的笼统代码过程,可根据自己的知识,结合起来进行完善. 在配置文件中给权限配置 <uses-permission android:name="android.pe ...

最新文章

  1. Linux操作系统上lsof命令详解
  2. 关于无法显示-隐藏文件、文件夹以及操作系统文件夹
  3. python交互模式切换_Python 交互式窗口 (REPL) - Visual Studio | Microsoft Docs
  4. 大数据图数据库之MapReduce用于图计算
  5. springmvc+json 前后台数据交互
  6. string 方法 java_java中常用的String方法
  7. EasyUI的简单介绍
  8. python-docx表格样式列表
  9. 在线段裁剪算法中是否能对区域编码算法进行优化实现模式的唯一判别呢
  10. 卸载symantec 找不到vpshellres.dll 解决方案
  11. 全国2009年1月电子商务与电子政务试题
  12. 1995-2019,中国互联网产品的发展与变革
  13. 短视频软件开发,抖音源码,美颜SDK,提供开放API接口
  14. 阿里巴巴达摩院:自然语言处理技术有哪些进展和趋势?
  15. delete与垃圾回收机制
  16. C++文件服务器项目—FastCGI—4
  17. html 图像热点在线处理,html area图片热点的使用介绍附相关属性一览表
  18. 三菱FX5U系列PLC控制10轴设备成套资料打包三菱FX5U控制10轴伺服的设备成套电气图纸
  19. 通过CSS3实现:鼠标悬停图片360度旋转效果
  20. 表白套路计算机公式,数学公式的超酷表白

热门文章

  1. endnote修改正文中参考文献标注_如何用endnote修改毕业论文后参考文献格式为毕业手册要求格式...
  2. cvtColor in Python
  3. php开发微信小程序教程,从零开始开发微信小程序步骤(三)
  4. JS反转链表 - I
  5. FANUC 工业机器人编程与联网
  6. rxbus 源码_基于APT的RxBus库
  7. Caused by: javax.security.auth.login.LoginException: unable to find LoginModule class: com.ibm.secur
  8. JDBC 实现数据库增删改查
  9. oracle数据库中的通配符,ORACLE学习笔记系列(9)通配符和特殊字符
  10. 电容或电感的电压_Buck知识大总结:模态分析,电感计算,EMI分析等(转)