• 安卓短信监听


    短信监听器的注册方法

    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;
  • 相关阅读:
    Spring 09 : AOP实例
    Spring08 AOP概念
    Spring 07 : 动态代理
    Spring06 Spring+Junit
    Spring05 : 基于注解的IOC
    Spring03 : 依赖注入
    jupyter修改python核(使用不同的python虚拟环境)
    线性代数的本质——引入几何视角
    图像的去雾与加雾
    从MATLAB看一个IDE应该具有的素质
  • 原文地址:https://www.cnblogs.com/fengchuxiaodai/p/5170208.html
Copyright © 2020-2023  润新知