Android短信监听
时间: 2023-11-10 14:54:35 浏览: 66
Android短信监听可以通过注册BroadcastReceiver来实现。具体步骤如下:
1. 创建一个类继承BroadcastReceiver,重写onReceive方法,监听短信到来的事件。
2. 在AndroidManifest.xml文件中注册该BroadcastReceiver。
3. 在onReceive方法中获取短信内容,并进行处理。
需要注意的是,如果要监听短信内容,需要申请READ_SMS权限。
以下是一个简单的短信监听代码示例:
```java
public class SmsReceiver 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");
if (pdus != null && pdus.length > 0) {
StringBuilder sb = new StringBuilder();
for (Object pdu : pdus) {
SmsMessage smsMessage = SmsMessage.createFromPdu((byte[]) pdu);
String sender = smsMessage.getOriginatingAddress();
String body = smsMessage.getMessageBody();
sb.append("短信来自:" + sender + "\n");
sb.append("短信内容:" + body + "\n");
}
Toast.makeText(context, sb.toString(), Toast.LENGTH_LONG).show();
}
}
}
}
}
```
在AndroidManifest.xml文件中注册该BroadcastReceiver:
```xml
<receiver android:name=".SmsReceiver">
<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>
```
同时需要申请READ_SMS权限:
```xml
<uses-permission android:name="android.permission.READ_SMS" />
```
阅读全文