zoukankan      html  css  js  c++  java
  • 安卓短信监听

    短信监听器的注册方法

    InnerSmsReveiver receiver = new InnerSmsReveiver();
    IntentFilter smsFilter = new IntentFilter();//new一个过滤器,设置过滤短信的方法
    smsFilter.addAction("android.provider.Telephony.SMS_RECEIVED");//固定写法   设置短信的过滤方法
    smsFilter.setPriority(IntentFilter.SYSTEM_HIGH_PRIORITY);//固定写法  设置获取短信     的级别  为最高
    registerReceiver(receiver, smsFilter);//开启短信监听  receiver为短信  smsFilter为短信的过滤器

    短信的内容提供者

    private class InnerSmsReveiver extends BroadcastReceiver {
    
           public void onReceive(Context context, Intent intent) {
                Object[] objs = (Object[]) intent.getExtras().get("pdus");//对收到的广播进行匹配,找到数据短信的广播
                for(Object obj: objs){
                    SmsMessage smsMessage = SmsMessage.createFromPdu((byte[]) obj);//得到短信的所有数据
                    String body = smsMessage.getMessageBody();//得到短信的内容
             String sender = smsMessage.getOriginatingAddress();//得到短信的地址(号码),可以用来作为标记,设置黑名单或白名单等等
             这里可以设置短信内容的过滤方法,比如 包含一些敏感词或者 abortBroadcast();//对短信进行拦截,最好是设置一些条件,符合条件的进行拦截(拦截后,系统收不到短信) } } } }

     如果不需要对短信监听,要记得关闭

    unregisterReceiver(receiver);
            receiver = null;
  • 相关阅读:
    linux常用命令中篇
    htaccess正则规则学习笔记整理
    个性签名
    求函数的单调区间
    函数的奇偶性
    函数的对称性
    函数的周期性
    复合函数
    赋值法
    高中数学中高频变形技巧收录
  • 原文地址:https://www.cnblogs.com/fengchuxiaodai/p/5170208.html
Copyright © 2011-2022 走看看