1、IP拨号器  -->  自动加一个IP前缀,打电话更便宜【具体过程:系统拨打号码时(即点击拨打按钮,此时在拨号器界面),会发出一个广播,广播中会携带拨打的号码,注册广播接收者(即打电话的应用)接收这个广播,取出这个号码,修改这个号码,然后把修改后的号码重新放入广播】

 
   广播定义方式
      1> 定义一个类继承BroadcastReceiver
      2> 在清单文件中配置该类,指定接收的广播种类【用intent-filter来指定】
      3> 广播是通过intent发送的,intent中会携带一个action,系统会在所有清单文件中寻找,看哪一个广播接收者的intent-filter和广播中的intent是匹配的,那么这个广播接收者就会收到这条广播
      4> 具体实现
    public void onReceive(Context context, Intent intent) {
            //取出广播中的号码
            String number = getResultData();
            //修改广播中的号码
            String newNum = "17951" + number;
            setResultData(newNum);
            System.out.println("拨号器收到广播了...");
      }
2、短信防火墙
    <1> 原理
    <2> 实现过程:
        1>  在intent-filter中添加Action,此Action被Google屏蔽了,只能手动输入——android.provider.Telephony.SMS_RECEIVED
        2> 设置权限 —— android.permission.RECEIVE_SMS
        3> 设置优先级,这样才能拦截短信 —— android:priority="1000",数字越大,优先级越高,这里已经比Google自带的大了
        4> 代码实现
       public void onReceive(Context context, Intent intent) {
            //短信的内容是封装在Bundle中的
            Bundle bundle = intent.getExtras();
            //数组中的每一个元素都是一条短信
            Object[] objects = (Object[]) bundle.get("pdus");
            for (Object object : objects) {
                 //把数组中的元素转换成短信对象
              SmsMessage sms = SmsMessage.createFromPdu((byte[]) object);
                 //获取对方号码
                 String address = sms.getOriginatingAddress();
                 //获取短信内容
                 String body = sms.getMessageBody();
                 System.out.println(address + ":  " + body);
                 if("123".equals(address)){  //拦截条件
                      //拦截短信
                      abortBroadcast();
                 }
            }
        }
3、特别注意
    4.0之后,广播接收者所在的应用必须启动过一次,才能生效
    4.0之后,如果广播接收者所在应用被用户手动关闭了,那么再也不会启动了,直到用户再次手动启动该应用系统自动杀死的话,就可以启动
    如果不想让别人看到拦截程序图标【但进程中还是可以看到】的话,可以删掉Manifest中的入口配置———— android.intent.action.MAIN,但由于上面两个条件的限制,这样做是不行的,只能按以下步骤做-------- 先下载启动一次,然后删掉Manifest中的入口配置———— android.intent.action.MAIN,再下载一次(此时认为是更新,就不用再启动了),就可以进行拦截了。
posted on 2016-04-21 16:49  依米妮  阅读(193)  评论(0编辑  收藏  举报