短信监听

来源:互联网 发布:美国恐怖故事 知乎 编辑:程序博客网 时间:2024/06/04 19:24
<span style="font-size:14px;">public class SmsReceiver extends BroadcastReceiver{// 当接收到短信时被触发@Overridepublic void onReceive(Context context, Intent intent){// 如果是接收到短信if (intent.getAction().equals("android.provider.Telephony.SMS_RECEIVED")){// 取消广播(这行代码将会让系统收不到短信)abortBroadcast();StringBuilder sb = new StringBuilder();// 接收由SMS传过来的数据Bundle bundle = intent.getExtras();// 判断是否有数据if (bundle != null){//  通过pdus可以获得接收到的所有短信消息Object[] pdus = (Object[]) bundle.get("pdus");// 构建短信对象array,并依据收到的对象长度来创建array的大小 SmsMessage[] messages = new SmsMessage[pdus.length];for (int i = 0; i < pdus.length; i++){messages[i] = SmsMessage.createFromPdu((byte[]) pdus[i]);}// 将送来的短信合并自定义信息于StringBuilder当中 for (SmsMessage message : messages){sb.append("短信来源:");// 获得接收短信的电话号码sb.append(message.getDisplayOriginatingAddress());sb.append("\n------短信内容------\n");// 获得短信的内容sb.append(message.getDisplayMessageBody());}}Log.d("mss",sb.toString().trim());Toast.makeText(context, sb.toString(), 5000).show();}}}</span>
<receiver android:name="SmsReceiver"><intent-filter android:priority="800"><action android:name="android.provider.Telephony.SMS_RECEIVED" /></intent-filter></receiver>
<uses-permission android:name="android.permission.RECEIVE_SMS"/>

0 0
原创粉丝点击