SmsManagerサービスを使ったグループメール

2666 ワード

SmsManagerはAndroidが提供する非常に一般的なサービスで、SmsManagerは一連のsendXxMessage()方法を提供してショートメッセージを送信しますが、メールは普通のテキストで、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、選択した群発リストを上の集合に入れる。