6

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

4

5 回答 5

5

根据 GSM 规范,SIM卡上只需要提供IMSI

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

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

于 2008-09-18T15:45:11.730 回答
2

正如 Pat 所说,虽然有用于访问 SIM 上“自己的号码”插槽的 API,但根据我的经验,这个插槽很少被填满。

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

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

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

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

于 2008-10-09T14:05:52.593 回答
1

仅供参考:实际上我已经找到了这个。

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

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

于 2008-09-13T10:33:21.257 回答
0

你不能。AFAIK。

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

于 2008-09-13T10:37:05.913 回答
0

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

于 2008-09-25T19:33:46.230 回答