
Android系统中如何接收和发送短信
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
本教程详细介绍在Android设备上接收与发送短信的方法,涵盖基本操作及使用第三方应用扩展功能。
在Android平台上实现接收与发送短信功能主要依赖于BroadcastReceiver(广播接收器)及SmsManager类的使用。本段落将详细介绍这两个关键组件及其实际应用。
首先介绍如何接收短信:
1. **创建内部广播接收器类**: 在Android中,通常通过继承自BroadcastReceiver并重写其方法来监听特定事件。为实现接收到新短信时的操作,请在代码中定义名为MessageReceiver的内建子类,并覆盖onReceive()方法。
```java
public class MessageReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(android.provider.Telephony.SMS_RECEIVED)) {
Bundle bundle = intent.getExtras();
if (bundle != null) {
Object[] pdus = (Object[]) bundle.get(pdus);
for (Object pdu : pdus) {
SmsMessage smsMessage = SmsMessage.createFromPdu((byte[]) pdu);
String sender = smsMessage.getDisplayOriginatingAddress();
String body = smsMessage.getMessageBody();
// 处理接收到的短信
}
}
}
}
}
2. **解析短信内容**: 在onReceive()方法中,通过Intent的Extras获取pdus对象,并使用SmsMessage.createFromPdu()来创建具体的SmsMessage对象以获得发送者和信息。
3. **在Activity中注册广播接收器**: 于MainActivity的onCreate()函数内设置BroadcastReceiver。首先定义一个IntentFilter并添加需要监听的动作,如android.provider.Telephony.SMS_RECEIVED;接着设定较高的优先级确保消息被及时处理,并通过registerReceiver方法完成注册。
4. **在AndroidManifest.xml中声明接收短信权限**: 必须加入
全部评论 (0)


