在移动电话6手机上我需要检索设备中SIM卡的电话号码。 我可以手动拨打*#100#,屏幕上会显示电话号码。
有人知道如何以编程方式执行此操作吗?
最好在C#中,但C ++会这样做,我可以翻译。
SystemState.OwnerNumber
只返回一个空字符串(可能依赖于正确存储在SIM中的数字),但*#100#工作。
答案 0 :(得分:2)
电话号码实际上并未存储在SIM卡上,而是存储在名为HLR的移动网络数据库中。用户友好的电话号码与名为IMSI的订阅ID匹配,该ID实际存储在您的SIM卡上。
因此,为了检索电话号码,设备必须允许您的应用程序在网络上进行通信。
答案 1 :(得分:0)
获取手机SIM卡号码的方法是将短信发送到某个服务器正在监听的某个号码。短信将携带发件人的电话号码。一旦您的服务器收到短信,服务器就可以使用客户端需要的电话号码向您的客户端应用程序发送推送消息。希望这可以帮助。