您可以阅读TelephonyRegistry的来源:Link

/** … this class provides a

centralized place that applications can register and be called back

from. */

来电的广播是通过以下方法发送的:

private void broadcastCallStateChanged(int state, String incomingNumber) {

....

....

Intent intent = new Intent(TelephonyManager.ACTION_PHONE_STATE_CHANGED);

intent.putExtra(PhoneConstants.STATE_KEY,

DefaultPhoneNotifier.convertCallState(state).toString());

// If `incomingNumber` is empty, the key

// `TelephonyManager.EXTRA_INCOMING_NUMBER` will not be present

// in the attached Bundle

if (!TextUtils.isEmpty(incomingNumber)) {

intent.putExtra(TelephonyManager.EXTRA_INCOMING_NUMBER, incomingNumber);

}

mContext.sendBroadcastAsUser(intent, UserHandle.ALL,

android.Manifest.permission.READ_PHONE_STATE);

}

因此,如果incomingNumber不为空,您将收到与TelephonyManager.EXTRA_INCOMING_NUMBER相对应的值.

incomingNumber来自DefaultPhoneNotifier#notifyPhoneState(Phone):Link

@Override

public void notifyPhoneState(Phone sender) {

Call ringingCall = sender.getRingingCall();

String incomingNumber = "";

if (ringingCall != null && ringingCall.getEarliestConnection() != null){

// Here

incomingNumber = ringingCall.getEarliestConnection().getAddress();

}

try {

mRegistry.notifyCallState(convertCallState(sender.getState()), incomingNumber);

} catch (RemoteException ex) {

// system process is dead

}

}

ringingCall.getEarliestConnection().getAddress()从扩展com.android.internal.telephony.Connection(GsmConnection,CdmaConnection ..)的类之一调用getAddress()方法.

如果查看GsmConnection的构造函数,可以看到为数字和调用者名称分配了变量.据我所知,作为接收者,你只收到号码 – 如果有的话.因此,如果是空字符串(当阻止/隐藏调用者ID时),您收到的Bundle中将不会出现TelephonyManager.EXTRA_INCOMING_NUMBER键.

您没有提到为什么需要此信息.如果您尝试通过比较字符串值来显示个性化消息,我建议您执行以下操作:

String phoneNumber = extras.getString(TelephonyManager.EXTRA_INCOMING_NUMBER,

"Personalized message for a Blocked Call");

我不确定这是否是一个充分的测试,但是为了模拟被阻止的来电显示,你可以看一下这个问题:Link.

android 紧急号码没记录,android – 当呼叫被隐瞒/未知时,来电号码是...相关推荐

  1. android培训内容明细,记录Android开发学习

    记录Android开发学习 Menu菜单学习 1.掌握Android中菜单的创建. 2.掌握Intent信使组件. 创建菜单Menu 我们模仿微信菜单栏学习,创建一个于微信菜单栏相似的菜单 那么我们应 ...

  2. android删除短信记录,android 4.4 以上删除短信的方法

    android 4.4之后非默认的短信应用已经没有办法删除短信了.像以前那样用如下方法是不会没法删除短信的(即使在xml中配置了短信的读写权限),同时也不会有报错或其他提示. 但通过打印可以看到上述代 ...

  3. android sdk eclipse没导入,Android—新的eclipse导入SDK出错解决办法

    原先系统崩溃,重装系统,加入一块内存条,从32位变成62位,原先的eclipse用不了:去官网下载64位的eclipse,安装,用一样的方法导入SDK.这时候肯定会提示错误,如下: 1.This An ...

  4. android 8.1没声音,Android 8.1重大改变!耳机孔不见了

    原标题:Android 8.1重大改变!耳机孔不见了 今天上午,Android Police爆料称,下一代的Pixel 2将首发Android 8.1.更重要的是,在这个新系统中,谷歌已经做好了放弃3 ...

  5. android微信分享工具,记录Android微信分享功能的吐槽与思考

    在App内潜入分享到微信好友或朋友圈的功能想必大家已经屡见不鲜了,比如Android分享一个网页信息(URL)到微信客户端的代码: /** * 微信分享:分享网页 * @param context * ...

  6. android p获取通话记录_[android] 取得最近通话记录的方法

    经过一下午的研究,终于弄明白了android中,关于通话记录取得的方法.下边是自己的一点心得. final Cursor cursor = cr.query(CallLog.Calls.CONTENT ...

  7. 都2023年了,Android凉了没?

    作为Android开发人员,经常会看到类似的问题 Android凉了没? Android开发前景如何? 其实并不是Android凉了,而是技术不过硬的Android凉了 Android不仅现在没凉,在 ...

  8. Android 获取来电号码和去电号码

    转载请注明出处: http://blog.csdn.net/like_program/article/details/52662942 这篇博客将讲解 Android 如何获取来电号码和去电号码. 打 ...

  9. Android adb使用总结记录

    文章转自:https://github.com/mzlogin/awesome-adb 博主做了格式化以及持续补充,作为自己的一个索引使用. 文章目录 1. 基本用法 1.1 命令语法 1.2 为命令 ...

最新文章

  1. 各大网站屏蔽搜索引擎抓取分析
  2. 树的懒加载怎么用ajax调接口,ElementUI tree树形控件的懒加载使用
  3. 硬件——STM32,GPIO篇
  4. Spring学习笔记(三) AOP_annotation,AOP_XML
  5. 在 Linux 系统中安装Load Generator ,并在windows 调用
  6. ThreadLocal是救火队长
  7. 如何用组策略来找到丢失的文件
  8. 鼠标移动 改变Datagrid行的背景颜色
  9. Java-GuardedBlocks与BusyWaitting忙等待
  10. java编程测试题_Java编程测试可帮助您评估求职者
  11. 浅析总结 Java 内部类的一些使用与梳理
  12. 【音视频】实操YUV与RGB互转(planar模式 YUV420、YUV422、YUV444与RGB888)
  13. MDIO总线相关_2
  14. Python实现自动群发自定义QQ消息
  15. 宁波银行成长的AB面:增长与合规不可兼得?管理漏洞不容忽视
  16. css图片背景之雪碧图的使用
  17. 项目经理面试中可能遇到的问题(持续更新)
  18. Mac OS X系统恢复软件
  19. Relax与CMMI Level 4 KPA的对应关系
  20. 实习日志二--JDBC

热门文章

  1. coroutine协程详解
  2. 在ubuntu 14.04搭建React Native for Android开发环境
  3. 芒果TV崩了?项目组在家办公效率不行呀!
  4. java基础----Date、DateFormat
  5. 【Java入门】桌球小游戏
  6. 【Modelsim零基础入门】新建项目+运行第一个verilog仿真程序:一位加法器
  7. java 8中构建无限的stream
  8. java 8 stream reduce详解和误区
  9. 万万没想到,线程居然被饿死了!
  10. Spring MVC 中的http Caching