Android短信事件监听
时间: 2023-10-25 20:07:42 浏览: 91
Android平台中,监听短信事件可以通过使用BroadcastReceiver来实现。以下是一个示例代码,可以监听到收到的短信,并打印出来:
```Java
public class SmsReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
//获取收到的短信内容
Bundle bundle = intent.getExtras();
SmsMessage[] messages = null;
if(null != bundle){
//从PDU中提取短信
Object[] pdus = (Object[]) bundle.get("pdus");
messages = new SmsMessage[pdus.length];
for(int i=0;i<pdus.length;i++){
messages[i] = SmsMessage.createFromPdu((byte[])pdus[i]);
}
}
//打印短信内容
if (messages != null && messages.length > 0){
StringBuilder sb = new StringBuilder();
for (SmsMessage message : messages){
sb.append("短信来源:" + message.getDisplayOriginatingAddress());
sb.append("\n-----短信内容-----\n");
sb.append(message.getDisplayMessageBody());
}
Log.d("SmsReceiver", sb.toString());
}
}
}
```
需要在AndroidManifest.xml文件中添加以下代码,声明BroadcastReceiver:
```xml
<receiver
android:name=".SmsReceiver"
android:enabled="true"
android:exported="true">
<intent-filter android:priority="1000">
<action android:name="android.provider.Telephony.SMS_RECEIVED"/>
</intent-filter>
</receiver>
```
这样就可以在应用程序中接收到短信并进行相应的处理了。
阅读全文