`
伊莉莎黑
  • 浏览: 12981 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Android监听短信

阅读更多
忘了在哪抄的了

用android.provider.Telephony.SMS_RECEIVED注册这个BroadcastReceiver


new BroadcastReceiver(){

    @Override
    public void onReceive(Context context, Intent intent){
        if(intent.getAction().equals("android.provider.Telephony.SMS_RECEIVED")){
            SmsMessage[] msgs = getMessagesFromIntent(intent);
            if(msgs == null)
                return;

        
            for(SmsMessage msg : msgs){
                Log.i("message",
                    msg.getOriginatingAddress() + " " +
                    msg.getDisplayOriginatingAddress() + " " +
                    msg.getDisplayMessageBody() + " " +
                    msg.getTimestampMillis());
            }
        }
    }


    private SmsMessage[] getMessagesFromIntent(Intent intent){
        Object[] messages = (Object[]) intent.getSerializableExtra("pdus");
        byte[][] pduObjects = new byte[messages.length][];
        for(int i = 0; i < messages.length; ++i){
            pduObjects[i] = (byte[]) messages[i];
        }
        byte[][] pdus = new byte[pduObjects.length][];
        int pduCount = pdus.length;
        SmsMessage[] msgs = new SmsMessage[pduCount];
        for(int i = 0; i < pduCount; ++i){
            pdus[i] = pduObjects[i];
            msgs[i] = SmsMessage.createFromPdu(pdus[i]);
        }
        return msgs;
    }
}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics