SmsManager是Android提供的一个非常常见的服务,SmsManager提供了一系列sendXxxMessage()方法用于发送短信,不过短信通常都是普通文本,调用sendTextMessage()即可。群发短信的实现也十分简单,只要让程序遍历每个收件人号码并依此发送短信即可。下面用一个简单实例来演示:

  1. package com.guyun.sendsms;
  2.  
  3. import java.util.ArrayList;
  4.  
  5. import android.app.Activity;
  6. import android.app.PendingIntent;
  7. import android.content.Intent;
  8. import android.os.Bundle;
  9. import android.telephony.SmsManager;
  10. import android.view.View;
  11. import android.view.View.OnClickListener;
  12. import android.widget.Button;
  13. import android.widget.EditText;
  14. import android.widget.Toast;
  15.  
  16. public class SendSmsActivity extends Activity {
  17. private EditText content;
  18. private Button sendBtn;
  19. // 记录需要群发的号码列表
  20. private ArrayList<String> sendList = new ArrayList<String>();
  21. // 声明短信管理器SmsManager对象
  22. private SmsManager sManage;
  23.  
  24. @Override
  25. protected void onCreate(Bundle savedInstanceState) {
  26. super.onCreate(savedInstanceState);
  27. setContentView(R.layout.main);
  28. content = (EditText) findViewById(R.id.main_content);
  29. sendBtn = (Button) findViewById(R.id.main_btn_send);
  30. // 获取系统SmsManager服务
  31. sManage = SmsManager.getDefault();
  32. initSendList();
  33. sendBtn.setOnClickListener(new OnClickListener() {
  34.  
  35. @Override
  36. public void onClick(View v) {
  37. String contentStr = content.getText().toString();
  38. for (int i = 0; i < sendList.size(); i++) {
  39. String number = sendList.get(i);
  40. // 创建一个PendingIntent对象
  41. PendingIntent pi = PendingIntent.getActivity(
  42. SendSmsActivity.this, 0, new Intent(), 0);
  43. // 发送短信
  44. sManage.sendTextMessage(number, null, contentStr, pi, null);
  45. }
  46. // 提示短息群发完成
  47. Toast.makeText(SendSmsActivity.this, "短信群发完成!",
  48. Toast.LENGTH_LONG).show();
  49. }
  50. });
  51. }
  52.  
  53. /**
  54. * 初始化群发名单的集合
  55. */
  56. private void initSendList() {
  57. sendList.add("15680768383");
  58. sendList.add("15680768384");
  59. sendList.add("15680768385");
  60. sendList.add("15680768386");
  61. sendList.add("15680768387");
  62. sendList.add("15680768387");
  63. }
  64.  
  65. }

加上权限:

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

注意:在本文中,只是简单地手动初始化群发名单,此示例可以做如下改进:

1、群发名单应从系统联系人中选取,即需要读取系统联系人,并显示在一个ListView中提供复选框供用户选择。
2、选择后的群发名单再放入上面集合中。

使用SmsManager服务群发短信的更多相关文章

  1. iphone 群发短信 闪退 彻底解决

    用iphone5群发短信,经常闪退,一般人多的时候,最容易出现 试了很多办法,ifile改sms.db等权限等 没有根本解决 一次操作中,发现群发时,每个号码都会显示菊花,貌似在检测什么 突然意识到, ...

  2. 单线程与多线程的简单示例(以Windows服务发短信为示例)

    单线程示例: public delegate void SM(); SM sm = new SM(() =>    {                    while (true)       ...

  3. PHP短信发送服务 youe短信企业服务

    /** * 通用短信平台HTTP接口POST方式发送短信实例 * 返回字符串 * 一般情况下调用此方法 */ function postSendMessage($msgContents,$phoneL ...

  4. 五、K3 WISE 开发插件《K3 Wise 群发短信配置开发(二)之短信群发配置》

    开发环境:K/3 Wise 13.0.Sql Server 2005 目录 一.开启Sql Server Agent代理服务 二.短信发送原理 三.编写存储过程 四.开启Sql Server作业 一. ...

  5. 阿里云短信服务发送短信验证码(JAVA开发此功能)

    开发此功能需注册阿里云账号,并开通短信服务(免费开通) 充值后,不会影响业务的正常使用!(因为发送验证类短信:1-10万范围的短信是0.045元/条).开发测试使用,充2块钱测试足够了 可参考阿里云官 ...

  6. 轻松集成腾讯云短信服务实现短信发送(Java实现)

    不论是阿里云还是腾讯云,要想在网站上实现短信发送功能,首先得保证你的网站域名是通过备案的,因为短信签名是需要用到备案过的域名截图,所以域名通过了,申请很快就会审批成功了. (说点题外话,备案的话,需要 ...

  7. DAY3 python群发短信

    手机轰炸,burpsuit 抓取注册页面输入的手机号,然后每点击一次forword ,都开开始放行,发短信.也可以发到repeat 里面进行 ,重复发送短信. import requests impo ...

  8. 五、K3 WISE 开发插件《K3 Wise 群发短信配置开发(一)之短信平台配置》

    开发环境:K/3 Wise 13.0 目录 一.创建短信数据库 二.配置短信接口 三.设置帐套关键字 四.查询短信余额 一.创建短信数据库 打开帐套管理: 账号默认为Admin,密码不填: 菜单“系统 ...

  9. iOS学习笔记28-系统服务(一)短信和邮件

    一.系统应用 在开发某些应用时,我们可能希望能够调用iOS系统内置的电话.短信.邮件.浏览器应用,或者直接调用安装的第三方应用,这个要怎么实现呢? 这里统一使用UIApplication的一个对象方法 ...

随机推荐

  1. 浅谈移动Web开发(上):深入概念

    PPI 什么是PPI PPI的复杂之处在于如果他所属的上下文环境不同,意义也会完全不一样. 当我们在谈论显示设备的PPI时,它代指的屏幕的像素密度:当我们在谈论和图片相关时,我们谈论的是打印时的分辨率 ...

  2. C#播放流媒体的几种方法

    原文:[转载]C#播放流媒体的几种方法 做视频开发要学的东西真多,不知道如何入门,乱打乱撞,慢慢摸索吧! 首先搭建Windows Meida Server ,方法很简单,试试就会.在这里需要声明的是, ...

  3. Linux:最终用途cat命令查看不可见的字符

    常,的程序或软件,并没有语法错误,你检查其内容没有发现相关问题.这是时间,因为你用普通的文本编辑软件来查看,有很多的字符显示不出来的,但在最终用途cat命令可以很easy地检測出是否存在这些字符. ~ ...

  4. Mybatis之动态构建SQL语句

    今天一个新同事问我,我知道如何利用XML的方式来构建动态SQL,可是Mybatis是否能够利用注解完成动态SQL的构建呢?!!答案是肯定的,MyBatis 提供了注解,@InsertProvider, ...

  5. [译]Java中的继承 VS 组合

    (文章翻译自Inheritance vs. Composition in Java) 这篇文章阐述了Java中继承和组合的概念.它首先给出了一个继承的例子然后指出怎么通过组合来提高继承的设计.最后总结 ...

  6. VMware安装CentOS 图文教程

    VMware安装CentOS 图文教程 VMware 下安装CentOS6.2 取消 Easy install模式(此模式不好,很多软件没有安装) http://jingyan.baidu.com/a ...

  7. Python开发环境Wing IDE使用教程:部分调试功能介绍

    下面是用户应该了解的Wing IDE的其它一些调试功能: Main Debug File—用户可以指定项目中的一个文件作为调试的主入口点.当完成这个设置之后,调试总是从这个文件开始,除非用户使用Deb ...

  8. JS 禁止右键,禁止复制,禁止粘贴

    原文:JS 禁止右键,禁止复制,禁止粘贴 如何用用javascript 禁止右键,禁止复制,禁止粘贴,做站时常会用到这些代码,所以收藏了一下!1. oncontextmenu="window ...

  9. 《Programming Hive》读书笔记(两)Hive基础知识

    <Programming Hive>读书笔记(两)Hive基础知识 :第一遍读是浏览.建立知识索引,由于有些知识不一定能用到,知道就好.感兴趣的部分能够多研究. 以后用的时候再具体看.并结 ...

  10. Android项目--Json解析

    在过去的一段时间里,我希望做一个天气的应用,但是由于老版的天气接口已经不能用了.只能更新到2014年3月4日. 不过有些东西,哪来学习一下,也是可以的. 比如:http://m.weather.com ...