如何在 Symbian 中获取设备的电话号码?
5 回答
正如 Pat 所说,虽然有用于访问 SIM 上“自己的号码”插槽的 API,但根据我的经验,这个插槽很少被填满。
获取已连接应用程序的电话号码的常用策略是发送 SMS 作为验证过程的一部分。任何一个:
以编程方式将 SMS 从手机发送到您的服务器(那里有很多优秀的 SMS 网关互连提供商)。SMS 将“从”手机号码(或更正确的 SIM 卡号码)到达您的服务器。当然,SMS 应该包含一些令牌,以便服务器可以将它与给定的会话/用户链接。这样做的好处是您不需要用户输入他们自己的电话号码(鉴于很少有人了解如何以 E.164 格式格式化数字,这会带来一些微妙的困难)。一个缺点是该过程可能会花费您的用户资金(一条短信)。
让用户输入他们的电话号码(网站或手机)并连接到您的服务器,并传递该电话号码。让手机等待您从服务器发送的 SMS 到达。如果此 SMS 确实到达,则您已验证他们输入的电话号码正确且有效。明显的缺点是这依赖于用户正确输入他们的号码 - 同样,鉴于世界各地编写电话号码的方式过多,将号码标准化为 E.164 并不像听起来那么简单......
唉,这些方法都不是万无一失的,特别是因为 SMS 是一种未连接的传输方式。根据 GSM 网络负载,您的网关提供商的负载、月相和吹窗方向的 SMS 可能需要一秒钟到一个月才能到达(是的,我确实有后者的经验)。平均交付时间通常以秒为单位,但您必须考虑操作超时,并且可能必须根据地理和 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。我们试过了。