android 拨号盘屏蔽号码功能流程
通过拨号盘设置-》blocked number-》add a number
Blocked calls and text from:找到在Add_blocked_number_dialog.xml中,add_blocked_number.根据此资源找到BlockedNumbersActivity中的showAddBlockNumberDialog,的addBlockedNumber函数,进入BlocekNumberTaskFragment.blockIfNotAlreadyBlocked(),进入BlockNumberTask。
BlockNumberTask.doInbackgroung()函数,会通过contendResolver.Insert将block的号码加入BlockedNumberContract.BlockedNumbers.Content_URI (字段值为com.android.blockednumber)的provider提供者中。
在pakages/providers/blockedNumberProvider/下的AndroidManifest.xml中,节点Provider 的authorities属性为ccom.android.blockednumber。则此模块为对应的provider。其BlokedNmuberProvider.java文件中insert函数。这里向真正的数据库写入。
在短信模块,和通话模块中都对应的通过BlockChecker.java的isBlocked函数,通过contentReslover访问provider实现对短信和电话的屏蔽。
一个是INboundSmsHandler.java的processMessagePart()。
经过分析通话log,屏蔽的电话号码的log如下:
04-02 13:40:35.082 1497 2384 I Telecom : Event: RecordEntry TC@2: BLOCK_CHECK_INITIATED, null: (...->CS.crCo->H.CS.crCo->H.CS.crCo.pICR)->CSW.hCCC->ABCF.dIB@E-E-CJY
04-02 13:40:35.096 1497 1497 I Telecom : Event: RecordEntry TC@2: BLOCK_CHECK_FINISHED, [Reject]: (...->CS.crCo->H.CS.crCo->H.CS.crCo.pICR)->CSW.hCCC->ABCF.oPE@E-E-CJY
04-02 13:40:35.099 1497 1497 I Telecom : Event: RecordEntry TC@2: SET_RINGING, blocking call: (...->CS.crCo->H.CS.crCo->H.CS.crCo.pICR)->CSW.hCCC->CILH.sL->CILH.oQC->ICF.oCFC@E-E-CJY
04-02 13:40:35.100 1497 1497 I Telecom : CallsManager: onCallFilteringCompleted: blocked call, rejecting.: (...->CS.crCo->H.CS.crCo->H.CS.crCo.pICR)->CSW.hCCC->CILH.sL->CILH.oQC->ICF.oCFC@E-E-CJY
在callsManager.java的onSuccessfulIncomingCall()函数中,通过AsyncBlockerFilter加入Filters,INcomingCallFilter.performFiltering()触发AsyncBlockerFilter.startFilterLokkup.
触发AsyncBlockCheckFilter.doInBackground()此函数在通过Log.addEvent添加BLOCK_CHECK_INITIATED打印。具体的操作就是通过BlockCheckAdapter.isBlocked->BlockerChecker.isBlocked()->BlockedNumberContract.SystemContract.shouldSystemBlockedNumber()->BlockNumberContract.shouldSystemBlockedNumber->ContentReslover.Call(content://com.android.blockednumber,METHOD_SHOULD_SYSTEM_BLOCK_NUMBER)
对应的走到BlockedNumberProvider.call()->BlockedNumberProvider.shouldSystemBlockedNumber->BlockedNumberProvider.isBlocked()到这里就进入真正的数据库查询了。
AsyncBlockCheckFilter执行完doInBackground()调用onPostExecute().
INcomingCallFilter的第二个入参CallFilterResultCallBack为listenner,传入的就是callManager本身,callManager确实也实现了onCallFilterComplete函数。
AsyncBlockCheckFilter.onPostExecute调用了其onCallFilterComplete().此函数判断reslut.rejecting为true,则调用incomingcall.reject,拒绝通话。
android 拨号盘屏蔽号码功能流程相关推荐
- Android智能手机屏蔽电话与屏蔽安装软件功能
近期做一些项目.须要对手机进行屏蔽自己的固有的功能.在此记录. Android屏蔽电话功能主要是卸载掉Phone.apk. 屏蔽安装软件功能主要是卸载掉PackageInstall.apk 以下以三星 ...
- android禁用电话功能,Android智能手机屏蔽电话与屏蔽安装软件功能
最近做一些项目,需要对手机进行屏蔽自己的固有的功能.在此记录. Android屏蔽电话功能主要是卸载掉Phone.apk.屏蔽安装软件功能主要是卸载掉PackageInstall.apk 下面以三星n ...
- 屏蔽Android系统的WIFI功能 关闭Android系统的实体按键
屏蔽Android系统的WIFI功能: 1.要root手机 2.安装re管理器 3.进入手机内存/system/bin/wpa_supplicant(文件无后缀). 4.re管理器改成读写模式后, ...
- android 7.0 新功能介绍(Nougat)
多窗口支持 在 Android 7.0 中,我们为该平台引入了一个新的而且非常需要的多任务处理功能 - 多窗口支持. 现在,用户可以一次在屏幕上打开两个应用. 在运行 Android 7.0 的手机和 ...
- Android拨号盘特殊字符串处理
Android拨号盘特殊字符串(例如*#06#显示IMEI或者MEID)处理的类是: packages/apps/Dialer/src/com/android/dialer/SpecialCharSe ...
- Android中实现Launcher功能之四---滑屏初探 scrollTo 以及 scrollBy方法使用说明
本文原创 ,转载必须注明出处 :http://blog.csdn.net/qinjuning 今天给大家介绍下Android中滑屏功能的一个基本实现过程以及原理初探,最后给大家重点讲解View视图中 ...
- android 上线apk,码云 Android apk 在线构建功能上线啦!
原标题:码云 Android apk 在线构建功能上线啦! #点击上图,立即参与OSC珠海源创会# duang duang duang -- 各位看官,开源中国码云 Android 项目构建新功能上线 ...
- Android内存泄漏的检测流程、捕捉以及分析
https://blog.csdn.net/qq_20280683/article/details/77964208 Android内存泄漏的检测流程.捕捉以及分析 简述: 一个APP的性能,重度关乎 ...
- android camera(6)---camera2 拍照流程
android camera2 拍照流程 正文 camera2 API 的加入是从AndroidV5.0(21)开始的,因此我们使用Camera2应该是在Android 5.0(含5.0)之后.同时, ...
最新文章
- 新的mysql如何使用_如何使用新的MySQL更新日志
- 软件调试修炼之道之——反思
- URI,URL和URN有什么区别?
- Linux之Apache与Nginx的对比比较:并发性能 消耗机器资源 处理静态资源 模块 稳定性
- oracle导入del数据文件,pl/sql,Oracle数据库中,不小心delete数据并递交后如何恢复被删数据...
- qregexp限制数字范围_数字系统实现电压电流控制的必经之路数模转换器
- 光端机的作用是什么? 简述光端机的作用
- 杀掉php所有进程,杀死某个用户的所有进程
- 影响机器视觉检测系统不稳定性因素分析
- MVC数据验证Model Validation
- Python 破解验证码
- 现代数字信号处理总结 下
- vue实现画出页面二维码的3种办法
- 多图片上传插件webuploader
- 设计模式学习之访问者模式
- css保持图片原始比例
- 多元线性回归分析spss结果解读_SPSS经典线性回归分析之一——线性回归分析
- C语言实现五子棋小游戏,草履虫都直呼不过如此
- CodeForces - 1213A Chips Moving (思维 数学)
- win7计算机cmd查看设备编码,查看windows操作系统的默认编码(字符集)