android 紧急号码没记录,android – 当呼叫被隐瞒/未知时,来电号码是...
您可以阅读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 – 当呼叫被隐瞒/未知时,来电号码是...相关推荐
- android培训内容明细,记录Android开发学习
记录Android开发学习 Menu菜单学习 1.掌握Android中菜单的创建. 2.掌握Intent信使组件. 创建菜单Menu 我们模仿微信菜单栏学习,创建一个于微信菜单栏相似的菜单 那么我们应 ...
- android删除短信记录,android 4.4 以上删除短信的方法
android 4.4之后非默认的短信应用已经没有办法删除短信了.像以前那样用如下方法是不会没法删除短信的(即使在xml中配置了短信的读写权限),同时也不会有报错或其他提示. 但通过打印可以看到上述代 ...
- android sdk eclipse没导入,Android—新的eclipse导入SDK出错解决办法
原先系统崩溃,重装系统,加入一块内存条,从32位变成62位,原先的eclipse用不了:去官网下载64位的eclipse,安装,用一样的方法导入SDK.这时候肯定会提示错误,如下: 1.This An ...
- android 8.1没声音,Android 8.1重大改变!耳机孔不见了
原标题:Android 8.1重大改变!耳机孔不见了 今天上午,Android Police爆料称,下一代的Pixel 2将首发Android 8.1.更重要的是,在这个新系统中,谷歌已经做好了放弃3 ...
- android微信分享工具,记录Android微信分享功能的吐槽与思考
在App内潜入分享到微信好友或朋友圈的功能想必大家已经屡见不鲜了,比如Android分享一个网页信息(URL)到微信客户端的代码: /** * 微信分享:分享网页 * @param context * ...
- android p获取通话记录_[android] 取得最近通话记录的方法
经过一下午的研究,终于弄明白了android中,关于通话记录取得的方法.下边是自己的一点心得. final Cursor cursor = cr.query(CallLog.Calls.CONTENT ...
- 都2023年了,Android凉了没?
作为Android开发人员,经常会看到类似的问题 Android凉了没? Android开发前景如何? 其实并不是Android凉了,而是技术不过硬的Android凉了 Android不仅现在没凉,在 ...
- Android 获取来电号码和去电号码
转载请注明出处: http://blog.csdn.net/like_program/article/details/52662942 这篇博客将讲解 Android 如何获取来电号码和去电号码. 打 ...
- Android adb使用总结记录
文章转自:https://github.com/mzlogin/awesome-adb 博主做了格式化以及持续补充,作为自己的一个索引使用. 文章目录 1. 基本用法 1.1 命令语法 1.2 为命令 ...
最新文章
- 各大网站屏蔽搜索引擎抓取分析
- 树的懒加载怎么用ajax调接口,ElementUI tree树形控件的懒加载使用
- 硬件——STM32,GPIO篇
- Spring学习笔记(三) AOP_annotation,AOP_XML
- 在 Linux 系统中安装Load Generator ,并在windows 调用
- ThreadLocal是救火队长
- 如何用组策略来找到丢失的文件
- 鼠标移动 改变Datagrid行的背景颜色
- Java-GuardedBlocks与BusyWaitting忙等待
- java编程测试题_Java编程测试可帮助您评估求职者
- 浅析总结 Java 内部类的一些使用与梳理
- 【音视频】实操YUV与RGB互转(planar模式 YUV420、YUV422、YUV444与RGB888)
- MDIO总线相关_2
- Python实现自动群发自定义QQ消息
- 宁波银行成长的AB面:增长与合规不可兼得?管理漏洞不容忽视
- css图片背景之雪碧图的使用
- 项目经理面试中可能遇到的问题(持续更新)
- Mac OS X系统恢复软件
- Relax与CMMI Level 4 KPA的对应关系
- 实习日志二--JDBC