• 使用SmsManager服务群发短信


    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;
    
    	@Override
    	protected 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() {
    
    			@Override
    			public 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、选择后的群发名单再放入上面集合中。

  • 相关阅读:
    HTTP 协议详解
    SQL中Group By的使用
    转mysql 多表 update sql语句总结
    数据库SQL优化大总结之 百万级数据库优化方案
    PHP中include和require的区别详解
    【奇怪的知识二】:部分测试名词解释
    【python】UI自动化测试浏览器内部命令模拟F12
    【python】pip设置永久阿里云镜像源
    【奇怪的知识一】:网页缓存清理
    【python】脚本输出接口json数据为表格
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3184546.html
Copyright © 2020-2023  润新知