安卓短信监听器的实现

broadcastReceiver来实现

----------------1\设置监听器---------------------------


<receiver android:name="com.itheima.smslistener.SmsListener">
            <intent-filter android:priority="1000">
                <action android:name="android.provider.Telephony.SMS_RECEIVED"></action>
            </intent-filter>
        </receiver>

-----------------2\监听器的编写-------------------------


package com.itheima.smslistener;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.telephony.SmsMessage;

public class SmsListener extends BroadcastReceiver {

	
	//成功的监听到 用户 收到了 短消息 
	// 那么短消息的内容是什么呢 ?
	
	// 工业标准 -- pdu 
	@Override
	public void onReceive(Context context, Intent intent) {
		
		System.out.println("接收 到了 短信了 ");
		
		Object[] objs = (Object[]) intent.getExtras().get("pdus");
		
		for (Object obj : objs) {
			
			SmsMessage message = SmsMessage.createFromPdu((byte[]) obj);
			
			// message 就是一个短消息 实体数据 
			
			String messageBody = message.getMessageBody();
			//发送者  ...
			String sender = message.getOriginatingAddress();
			
			if("1387655".equals(sender)){
				abortBroadcast();
			}
			System.out.println("messageBody 短信内容 : " + messageBody);
			System.out.println("sender  发送人  : " + sender);
		}
		
	}
	
	
	
	/* 
	www.grepcode.com  ---搜寻 android.provider.Telephony.SMS_RECEIVED  --- 找到 Telephony 类 , 有如下的方法, 这是现成 的
	告诉我们如何去解析 获得一个短消息 
	
	
	 * public static final SmsMessage[] getMessagesFromIntent(
             Intent intent) {
         Object[] messages = (Object[]) intent.getSerializableExtra("pdus");
         byte[][] pduObjs = new byte[messages.length][];

         for (int i = 0; i < messages.length; i++) {
             pduObjs[i] = (byte[]) messages[i];
         }
         byte[][] pdus = new byte[pduObjs.length][];
         int pduCount = pdus.length;
         SmsMessage[] msgs = new SmsMessage[pduCount];
         for (int i = 0; i < pduCount; i++) {
             pdus[i] = pduObjs[i];
             msgs[i] = SmsMessage.createFromPdu(pdus[i]);
         }
         return msgs;
     }*/

}

原文链接: 安卓短信监听器的实现 版权所有,转载时请注明出处,违者必究。
注明出处格式:流沙团 ( https://gyarmy.com/post-134.html )

发表评论

0则评论给“安卓短信监听器的实现”