如何在Symbian中获取设备的电话号码?

有帮助吗?

解决方案

根据 GSM 规范,只有 国际移动用户识别码 需要在 SIM卡 卡片。

实际电话号码 MSISDN 存储在 归属地LR 数据库位于运营商网络中,不需要在 SIM 卡上可用或传输到手机。

因此,无论您使用什么技术(Symbina、Java ...),您都不能指望能够始终从设备或 SIM 卡获取您自己的电话号码。如果运营商将其存储在 SIM 卡上或者手机为用户提供了手动输入的可能性,那么您可能会很幸运,但情况不一定如此。

其他提示

正如 Pat 所说,尽管有 API 可用于访问 SIM 卡上的“自己的号码”插槽,但根据我的经验,该插槽很少被填满。

获取连接应用程序的电话号码的常用策略是发送短信作为验证过程的一部分。任何一个:

  1. 以编程方式从手机向服务器发送短信(有很多优秀的短信网关互连提供商)。短信将从手机号码(或更准确地说是 SIM 卡)到达您的服务器。当然,SMS 应该包含一些令牌,以便服务器可以将其与给定的会话/用户链接。这样做的优点是您不需要用户输入自己的电话号码(由于很少有人了解如何以 E.164 格式格式化数字,这会带来一些微妙的困难)。一个缺点是该过程可能会花费用户金钱(一条短信)。

  2. 让用户输入他们的电话号码(网站或手机)并连接到您的服务器,传递该电话号码。然后让手机等待您从服务器发送的短信到达。如果这条短信确实到达,则您已验证他们输入的电话号码正确且有效。明显的缺点是,这依赖于用户正确输入号码 - 再次考虑到世界各地书写电话号码的方式过多,将号码标准化为 E.164 并不像听起来那么简单……

遗憾的是,这两种方法都不是万无一失的,特别是因为 SMS 是一种非连接的传输方式。根据 GSM 网络负载、网关提供商的负载、月相和短信吹窗方向,可能需要一秒到一个月才能到达(是的,我确实有后者的经验)。平均交付时间通常以秒为单位,但您必须考虑操作超时,并且可能必须根据地理和 GSM 网络对其进行调整。[不,不要依赖发送报告 - 甚至比短信发送更不可靠]

供参考:其实我已经找到了这个。

http://www3.symbian.com/faq.nsf/AllByDate/100335073FFD8FEF80256E3200571A49?OpenDocument

但事实是,电话号码并不总是存储在 SIM 卡中。做还是不做由运营商选择!

你不能。AFAIK。

检查这个讨论:http://discussion.forum.nokia.com/forum/showthread.php?t=65117

通常不可能从 Symbian 设备(或 BREW 或任何其他平台)获取 MSISDN。我们已经尝试过。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top