android 发送短信

来源:互联网 发布:项目进度表制作软件 编辑:程序博客网 时间:2024/05/15 23:50

android 发送短信

在“发送短信”按钮的单击事件处理的回调方法onClick()的实现中,实现发送短信的功能。

  1. btnSendSMS.setOnClickListener(new View.OnClickListener() {  
  2. public void onClick(View v) {  
  3. String phoneNo = txtPhoneNo.getText().toString();  
  4. String message = txtMessage.getText().toString();  
  5. if (phoneNo.length()>0 && message.length()>0){  
  6. sendSMS(phoneNo, message);  
  7. } else {  
  8. Toast.makeText(TinySMS.this,  
  9. "请重新输入电话号码和短信内容",Toast.LENGTH_LONG).show();  
  10. }  
  11. }  
  12. }); 

读者可能已经注意到,TinySMS并不是使用Intent激活Android自带的短信程序,而是直接使用了一个叫做sendSMS的方法,该方法的实现为:

  1. private void sendSMS(String phoneNumber, String message) {  
  2. PendingIntent pi = PendingIntent.getActivity(this, 0,  
  3. new Intent(this, TinySMS.class), 0);  
  4. SmsManager sms = SmsManager.getDefault();  
  5. sms.sendTextMessage(phoneNumber, null, message, pi, null);  

SmsManager是android.telephony.gsm.SmsManager中定义的用户管理短信应用的类。它的用法有点特殊,开发 人员不用直接实例化SmsManager类,而只需要调用静态方法getDefault()获得SmsManger对象,方法 sendTextMessage()用于发送短信到指定号码。在上面这段代码中,我们使用了一个PendingIntent的对象,该对象指向 TinySMSActivity。因此当用户按下“发送短信”键之后,用户界面会重新回到TinySMS的初始界面。


原创粉丝点击