我可以在来电或去电时获得对方的 MCC 和 MNC吗?
我知道您可以从 SIM 卡中获取您自己的信息,但我对我的联系人信息很感兴趣。
我想我必须能够在电话中检索到这些信息。
所以有两个主要问题:
协议是否允许?
Android API 中是否有提供此类信息的类?(在里面看了TelephonyManager
但没有找到)
我可以在来电或去电时获得对方的 MCC 和 MNC吗?
我知道您可以从 SIM 卡中获取您自己的信息,但我对我的联系人信息很感兴趣。
我想我必须能够在电话中检索到这些信息。
所以有两个主要问题:
协议是否允许?
Android API 中是否有提供此类信息的类?(在里面看了TelephonyManager
但没有找到)
就像 payeli 回答的那样:不,你不能。
首先,因为没有访问对方手机信息的API。其次,因为Android实际上并不知道。您可以深入研究TelephonyManager 的源代码,您会发现它只包含有关本地电话提供商的信息。
此外,内部 Android 类 Connection也没有显示任何此类信息的提示。(无论它包含什么信息,都无法从 API 访问,甚至无法通过反射访问。)
话虽如此,目前有一些服务可以提供对电话号码的一些洞察力。在荷兰,KPN 提供了一个 API 用于查找呼叫者信息,包括电话当前的覆盖状态、是否漫游以及其他详细信息。我不确定 API 是否公开,但您所在地区可能有类似的服务可用。
不可以,您只能检索手机的 MCC 和 MNC,不能检索您拨打或接听电话的第三方号码。
原因:呼叫的目标是电话号码,而不是发送/接收设备的 MCC/MNC。MCC/MNC tuple 用于唯一标识一个手机运营商/运营商,所以如果用户carrierX
当前正在使用,他将有一个 MCC/MNC 的值,如果用户更改了移动运营商/运营商但保留了相同的电话号码,则MCC/MNC 的值会改变,但电话号码仍将保持不变。
因此,联系人的电话号码与其运营商的 MCC/MNC 之间的映射不是固定的。所以:
我可以在来电或去电时获得对方的 MCC 和 MNC 吗?
NO