Android创建简单发送和接收短信应用

Android创建简单发送和接收短信应用,第1张

概述本文实例为大家分享了Android创建发送接收短信应用的简单实现过程,供大家参考,具体内容如下

本文实例为大家分享了AndroID创建发送和接收短信应用的简单实现过程,供大家参考,具体内容如下

一、接收短信

项目的结构如下:一个简单的接收和发送短信的功能

1、定义一个接收短信的广播:当手机接收到一条短信的时候,系统会发出一条值为androID.provIDer.Telephony.SMS_RECEIVED 的广播,这条广播里携带着与短信相关的所有数据。

// 接收短信的广播class MessageReceiver extends broadcastReceiver {  @OverrIDe  public voID onReceive(Context context,Intent intent) {    Bundle bundle = intent.getExtras();    Object[] pdus = (Object[]) bundle.get("pdus"); // 提取短信消息    SmsMessage[] messages = new SmsMessage[pdus.length];    for (int i = 0; i < messages.length; i++) {      messages[i] = SmsMessage.createFromPdu((byte[]) pdus[i]);    }    String address = messages[0].getoriginatingAddress(); // 获取发送方号码    String fullMessage = "";    for (SmsMessage message : messages) {      fullMessage += message.getMessageBody(); // 获取短信内容    }    textVIEw.setText("address; " + address + ",message: " + fullMessage);    abortbroadcast();  }} 

2、 注册广播,这里我们动态在代码中注册:

// 注册接收广播IntentFilter intentFilter1 = new IntentFilter();intentFilter1.setPriority(IntentFilter.SYstem_HIGH_PRIORITY);intentFilter1.addAction("androID.provIDer.Telephony.SMS_RECEIVED");messageReceiver = new MessageReceiver();registerReceiver(messageReceiver,intentFilter1);

3、 声明权限:

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

二、发送短信

1、 发送短信:用getDefault方法得到SmsManager对象,调用sendTextMessage方法发送短信

// 发送短信public voID send(VIEw vIEw) {  SmsManager smsManager = SmsManager.getDefault();  String destinationAddress = "15527100207";  String text = "我爱你!";  Intent intent1 = new Intent(SENT_SMS_ACTION);  PendingIntent sentIntent = PendingIntent.getbroadcast(this,intent1,0);  Intent intent2 = new Intent(DEliVERY_SMS_ACTION);  PendingIntent deliveryIntent = PendingIntent.getbroadcast(this,intent2,0);  smsManager.sendTextMessage(destinationAddress,null,text,sentIntent,deliveryIntent); // aIDl服务,进程间的通信}

 我们具体了解一下sendTextMessage方法一个参数的含义:

public voID sendTextMessage(String destinationAddress,String scAddress,String text,PendingIntent sentIntent,PendingIntent deliveryIntent)destinationAddress: // 目的地,也就是对方的手机号scAddress:     // 服务中心地址,为空的话就是默认的SMSCtext:        // 发送消息的具体内容sentIntent:     // 当消息成功或者失败发送时,就发起这个广播deliveryIntent:   // 当消息到达目的地时,就发起这个广播

 2、 sentIntent的广播:

// 发送短信的状态广播class Messagebroadcast extends broadcastReceiver {  @OverrIDe  public voID onReceive(Context context,Intent intent) {    // 一个10位数的号码发送,也能成功,但是对方没有接收短信。    if (getResultCode() == RESulT_OK) {      Toast.makeText(MainActivity.this,"发送成功!",Toast.LENGTH_SHORT).show();    } else {      Toast.makeText(MainActivity.this,"发送失败!",Toast.LENGTH_SHORT).show();    }  }} 

3、 deliveryIntent的广播:

// 当消息被传递给收件人时 class Deliverybroadcast extends broadcastReceiver {  @OverrIDe  public voID onReceive(Context context,Intent intent) {    Toast.makeText(MainActivity.this,"对方接收短信成功!",Toast.LENGTH_SHORT).show();  }}

以上就是本文的全部内容,希望对大家的学习有所帮助。

总结

以上是内存溢出为你收集整理的Android创建简单发送和接收短信应用全部内容,希望文章能够帮你解决Android创建简单发送和接收短信应用所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1141697.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存