android读取短信内容

来源:互联网 发布:js面向对象 继承例子 编辑:程序博客网 时间:2024/05/21 04:20

1、定义短信广播Receiver

@Override    public void onReceive(Context context, Intent intent) {        Object[] objs = (Object[]) intent.getExtras().get("pdus");        for (Object obj : objs) {            byte[] pdu = (byte[]) obj;            SmsMessage sms = SmsMessage.createFromPdu(pdu);            String message = sms.getMessageBody();            Log.d("短信内容", "message:" + message);            String from = sms.getOriginatingAddress();            Log.d("短信来源", "from :" + from);            if ("10690583044032".equals(from)) {                //匹配短信中间的6个数字(验证码等)                String code = patternCode(message);                if (!TextUtils.isEmpty(code)) {                    Message msg=new Message();                    msg.what=1;                    Bundle bundle=new Bundle();                    bundle.putString("messagecode", code);                    msg.setData(bundle);                    handler.sendMessage(msg);                }            }        }    }

2、注册短信广播

IntentFilter filter = new IntentFilter();filter.addAction("android.provider.Telephony.SMS_RECEIVED");filter.setPriority(Integer.MAX_VALUE);ReadMmsReceiver readMmsReceiver = new ReadMmsReceiver(handler);registerReceiver(readMmsReceiver, filter);

3、短信读取权限

<uses-permission android:name="android.permission.RECEIVE_SMS" /><uses-permission android:name="android.permission.READ_SMS" />
0 0
原创粉丝点击