今天记录一下短信监听器的代码,因为有时候很常用,但是又很容易忘记
短信监听器的实现就是在应用中注册一个广播接收者,当系统接收到短信的时候就会发出一个广播。
首先在清单文件中注册这个短信广播接收者代码如下:
<receiver android:name="com.jsako.smsreceiver.SmsReceiver" > <intent-filter android:priority="1000" > <action android:name="android.provider.Telephony.SMS_RECEIVED" /> </intent-filter> </receiver>
还要在清单文件中声明权限代码如下:
<uses-permission android:name="android.permission.RECEIVE_SMS" />
然后就是类的实现代码如下:(这是一个模板代码)
package com.jsako.smsreceiver; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.telephony.SmsMessage; public class SmsReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Object[] pdus=(Object[]) intent.getExtras().get("pdus"); for(Object pdu:pdus){ SmsMessage sm=SmsMessage.createFromPdu((byte[]) pdu); //短信内容 String body=sm.getMessageBody(); //短信发送者号码 String address=sm.getDisplayOriginatingAddress(); System.out.println("body:"+body); System.out.println("address:"+address); }
} }
浙公网安备 33010602011771号