package com.basic.smssender;
import java.util.ArrayList;
import android.os.Bundle;
import android.app.Activity;
import android.telephony.SmsManager;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
public class MainActivity extends Activity {
private EditText et_address;
private EditText et_content;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//找到关心的控件
Button btn_send = (Button) findViewById(R.id.button1);
et_address = (EditText) findViewById(R.id.editText1);
et_content = (EditText) findViewById(R.id.editText2);
//设置点击事件
//采用匿名内部类来实现点击事件
btn_send.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
//拿到发送的地址
String address = et_address.getText().toString().trim();
//拿到发送的内容
String content = et_content.getText().toString().trim();
//开始发送短信
SmsManager smsManager=SmsManager.getDefault();
//destinationAddress 发送的地址
//scAddress 短信中心,一般设为null
//text 短信的内容
//sentIntent 发送成功的报告,一般为 null
//deliveryIntent 发送失败的报告
//如果短信内容过长,就设置分条发送
ArrayList<String> divideMessage = smsManager.divideMessage(content);
for (String div : divideMessage) {
smsManager.sendTextMessage(address, null, div, null, null);
}
}
});
}
}
模拟发短信的界面:
另一台虚拟机接收到短信的界面:
ArrayList<String> divideMessage = smsManager.divideMessage(content);
for (String div : divideMessage) {
smsManager.sendTextMessage(address, null, div, null, null);
}
加上这条遍历语句后,如果短信过长,虚拟机就会自动设置分条发送,如下图: