使用SmsManager服务群发短信
16lz
2021-01-26
SmsManager是Android提供的一个非常常见的服务,SmsManager提供了一系列sendXxxMessage()方法用于发送短信,不过短信通常都是普通文本,调用sendTextMessage()即可。群发短信的实现也十分简单,只要让程序遍历每个收件人号码并依此发送短信即可。下面用一个简单实例来演示:
package com.guyun.sendsms;import java.util.ArrayList;import android.app.Activity;import android.app.PendingIntent;import android.content.Intent;import android.os.Bundle;import android.telephony.SmsManager;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.Toast;public class SendSmsActivity extends Activity {private EditText content;private Button sendBtn;// 记录需要群发的号码列表private ArrayList<String> sendList = new ArrayList<String>();// 声明短信管理器SmsManager对象private SmsManager sManage;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);content = (EditText) findViewById(R.id.main_content);sendBtn = (Button) findViewById(R.id.main_btn_send);// 获取系统SmsManager服务sManage = SmsManager.getDefault();initSendList();sendBtn.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {String contentStr = content.getText().toString();for (int i = 0; i < sendList.size(); i++) {String number = sendList.get(i);// 创建一个PendingIntent对象PendingIntent pi = PendingIntent.getActivity(SendSmsActivity.this, 0, new Intent(), 0);// 发送短信sManage.sendTextMessage(number, null, contentStr, pi, null);}// 提示短息群发完成Toast.makeText(SendSmsActivity.this, "短信群发完成!",Toast.LENGTH_LONG).show();}});}/** * 初始化群发名单的集合 */private void initSendList() {sendList.add("15680768383");sendList.add("15680768384");sendList.add("15680768385");sendList.add("15680768386");sendList.add("15680768387");sendList.add("15680768387");}}
加上权限:
<uses-permission android:name="android.permission.SEND_SMS"/>
注意:在本文中,只是简单地手动初始化群发名单,此示例可以做如下改进:
1、群发名单应从系统联系人中选取,即需要读取系统联系人,并显示在一个ListView中提供复选框供用户选择。
2、选择后的群发名单再放入上面集合中。
更多相关文章
- 笔记-系统源码常用的Content Provider
- 为什么每个Android开发者都应该使用Anko
- Android(安卓)Netd介绍
- Android(安卓)源码
- android TextView 图文混排
- 安卓学习第三天
- android:查询数据库 指定列 指定列名 并输出查询结果(如查询电话
- Android(安卓)kotlin网络请求框架fuel(简单方便的使用,提供项目中
- Android官方提供的支持不同屏幕大小的全部方法