导读:本文说明系统是如何注册动态广播以及静态广播,这里主要注意其注册的顺序 这篇文章主要是针对我前两篇文章 android安全问题  抢先开机启动 - 结果篇 android安全问题  抢先拦截短信 - 结果篇 之前只给出了结果,并没有给出代码分析,现在给出第一步分的分析 大家都知道,广播接收器分为动态注册和静态注册两种 静态接收,就是配置到manifest.xml文件中,PackageManagerService扫描后记录其信息…… 动态接收,就是从代码中注册,通过调用下面的方法实现 Inte…
导读:本文说明系统发送广播的部分流程,如何利用Intent查找到对应接收器.我们依然只关注接收器的排序问题 这篇文章主要是针对我前两篇文章 android安全问题(四) 抢先开机启动 - 结果篇 android安全问题(五) 抢先拦截短信 - 结果篇 现在给出第二步分的分析 下面就来看看发送广播的流程 Context中的sendBroadCast函数的实现是在ContextImpl中,和发送广播相关的有如下六个函数 void android.app.ContextImpl.sendBroadca…
同上篇文章一样,这里只陈述结果,代码分析稍后给出 导读:本文叙述如何先于某些伪杀毒软件.病毒.常规软件获取到短信 众所周知,android系统在收到短信息的时候会发送广播,但是此广播是有序广播,也就是说:先接收到广播的人,如果心情不好,它就不会向后传递此广播,后面的人就不会知道有短信到来 这与无序广播不同,无序广播并不是真的没有顺序(只是似乎大家习惯这么叫而已),无序广播的接收者也是排队等待广播的,只不过是在传递过程中,大家必须遵守规则,一直把消息传递给最后一个人才可以 关于无序广播与静态接收器…
导读:我们以如何抢先开机启动为例,来说明接收无序广播的静态广播接收器的接收顺序 (注意,文本只是陈述结果,所以叫结果篇,之后的文章再给出源码分析) 首先先说一下android中的广播和广播接收器 广播可以分为有序.无序和sticky共三种 广播接收器可以分为静态和动态两种 首先我们要明确两个问题1.接收无序广播的接收器接收到广播的顺序是有序的 2.接收无序广播的接收器也一样可以设置优先级的 这里主要说一下多个应用中的静态广播接收器(优先级都相同的情况下 )接收无序广播时的接收顺序 注意:这里主要…
本篇文章记录Android应用无法接收到广播的几种case 1. 没有register 广播其实是一种订阅者模式,所以当然需要先register,register的方式有两种 1.1  through manifest-declared receivers 通过manifest静态注册 1.1.1 在manifest文件的<application></application>添加<receiver/>标签 静态注册意味着应用在安装后就开始接收广播,一旦接收广播系统会打开…
使用广播接收者接收打电话的意图,显示号码归属地 新建一个类OutCallReceiver继承系统的BroadcastReceiver 重写onReceive()方法 调用getResultData()方法,获取到String电话号码,查询数据库获取到归属地 package com.qingguow.mobilesafe.receiver; import com.qingguow.mobilesafe.utils.NumberQueryAddressUtil; import android.con…
本文涉及的内容有:多线程并发的性能问题,介绍了 AsyncTask,HandlerThread,IntentService 与 ThreadPool 分别适合的使用场景以及各自的使用注意事项,这是一篇了解 Android 多线程编程不可多得的基础文章,清楚的了解这些 Android 系统提供的多线程基础组件之间的差异以及优缺点,才能够在项目实战中做出最恰当的选择. 1. Threading Performance 在程序开发的实践当中,为了让程序表现得更加流畅,我们肯定会需要使用到多线程来提升程…
平时使用广播的场合比较多,但细节的东西,看过了也没有总结,以至于某些场合有小问题,还是要把原理和属性搞清楚才能运用自如. 其实也是自己比较懒,先看别人的blog,有个概念再去官网看英文的能好理解一些. 这篇补充上一篇消息推送的知识,先罗列一些基础知识,再说自己不足的地方和问题. 照例,先搬砖: 1. Android中pendingIntent的深入理解 2. Android Service 服务(二)—— BroadcastReceiver 3. Android----基础----第八天----…
什么是BroadcastReceiver BroadcastReceiver是Android体系的四大组件之一,本质上是一种全局的监听器,用于监听系统全局的广播消息,正式因为其本质为全局监听,因此可以非常方便的实现系统中不同组件之间的通信.也方便我们自己的app针对系统开机.电量低等广播做出相应反映.同时我们也可以自己发送广播,来实现不同组件之间的通信 系统接收短信广播,然后弹出Toast: package cn.lixyz.broadcastreceiver; import android.a…
原文地址(貌似已打不开):Android Binder设计与实现 – 设计篇 ----------------------------------------------------------------------- 目录 1. Android为何引入Binder 2. 面向对象的 Binder IPC 3. Binder通信模型 3.1 Binder 驱动 3.2 ServiceManager 与实名Binder 3.3 Client 获得实名Binder的引用 3.4 匿名 Binder…