下面是一个发送短信的例子,主要使用了SmsManager服务,另外使用了PendingIntent
关于PendingIntent找到一些资料说明
PendingIntent实现原理和代码
http://www.android123.com.cn/androidkaifa/862.html
http://blog.csdn.net/zeng622peng/article/details/6180190
发送短信的代码非常简单
package WangLi.Service.SendSms;
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 SendSms extends Activity {
EditText number, content;
Button send;
SmsManager sManager;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// 获取SmsManager
sManager = SmsManager.getDefault();
// 获取程序界面上的两个文本框和按钮
number = (EditText) findViewById(R.id.number);
content = (EditText) findViewById(R.id.content);
send = (Button) findViewById(R.id.send);
send.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// 创建一个PendingIntent对象
PendingIntent pi = PendingIntent.getActivity(SendSms.this, 0,
new Intent(), 0);
// 发送短信
sManager.sendTextMessage(number.getText().toString(), null,
content.getText().toString(), pi, null);
// 提示短信发送完成
Toast.makeText(SendSms.this, "短信发送完成", 8000).show();
}
});
}
}
最后别忘了加上短信发送的权限
<uses-permission android:name="android.permission.SEND_SMS"/>
如果想实现短信群发的功能,其实也很简单,可以把上一篇黑名单的例子稍加改动,写一个ArrayList的集合,用来收集用户在界面上选择的电话号码,再遍历这个ArrayList,调用sendTextMessage方法,依次发送短信