发送短信

Android中短信主要采用SmsManagersendTextMessage()方法来发送文字短信,sendTextMessage()方法有5个参数,第一个参数为对方的手机号码(不能为空),第二个参数为发送方的手机号号码(可以为空),第三个参数为发送的短信内容(不能为空),第四个参数为PendingIntent对象,用于判断发送短信是否成功(可以为空),第五个参数也为PendingIntent对象,当用户接收到短信时会返回该对象(可以为空)。

现在新建一个名为Sample15Android项目,在main.xml中添加一个TextView、两个EditText和一个Button。其中一个EditText用于输入电话号码,另外一个EditText用于输入发送的短信内容,Button按钮用于发送短信,同时设置EditTextinputType属性为phone,即EditText只能输入电话号码。如下图所示:

发送短信

然后在Sample15Activity.java中为按钮添加单击事件,当点击按钮时向指定号码发送短信内容。Sample15Activity.java中的代码如下:

publicclass Sample15Activity extends Activity {

/** Called when the activity is first created. */

@Override

publicvoid onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

ButtonsendButton=(Button)findViewById(R.id.sendbutton);//发送短信按钮

sendButton.setOnClickListener(new OnClickListener(){

@Override

publicvoid onClick(View v) {

// TODO Auto-generated method stub

EditTextphoneText=(EditText)findViewById(R.id.phoneNumEditText);//电话号码

EditTextmsgText=(EditText)findViewById(R.id.msgEditText);//短信内容

StringphoneNum=phoneText.getText().toString();//获取发送到的电话号码

Stringmsg=msgText.getText().toString();//获取发送的短信内容

SmsManagersmsManager=SmsManager.getDefault();//获取默认的SMS管理器

smsManager.sendTextMessage(phoneNum,null, msg, null, null);//发送文本短信

msgText.setText("");//设置短信输入框内容为空

}});

}

}

最后,还需要在AndroidManifest.xmlmanifest节下添加可以发送短信的用户许可,如下:

<uses-permission android:name="android.permission.SEND_SMS"/>

运行程序,在两个模拟机上运行结果如下图所示:

发送短信 发送短信

你可能感兴趣的:(短信)