以编程方式在Symbian中获取自己的电话号码

时间:2008-09-13 10:30:33

标签: symbian telephony

如何使用Symbian获取设备的电话号码?

5 个答案:

答案 0 :(得分:5)

根据GSM规范,IMSI卡只能提供SIM

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

因此,无论您使用何种技术(Symbina,Java ......),您都无法始终从设备或SIM卡中获得自己的电话号码。如果操作员将其存储在SIM卡上或手机为用户提供手动输入的可能性,您可能会很幸运,但不一定是这样。

答案 1 :(得分:2)

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

获取已连接应用程序的电话号码的通常策略是在验证过程中发送SMS。之一:

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

  2. 让用户输入他们的电话号码(网站或手机)并连接到您的服务器,并传递该电话号码。然后让手机等待您从服务器发送的短信到达。如果此SMS确实到达,您已验证他们输入的电话号码是否正确有效。显而易见的缺点是,这依赖于用户正确输入他们的号码 - 再次,考虑到世界各地编写电话​​号码的方法过多,并不像听起来将数字标准化为E.164那样微不足道。

  3. 唉,这些方法都不是防弹的,特别是因为SMS是一种未连接的传输方式。根据GSM网络负载,您的网关提供商的负载,月亮的阶段和吹SMS的窗口的方向可能需要一秒钟到一个月(是的,我确实有后者的经验)。平均交付时间通常在几秒钟内,但您必须使用操作超时,并且可能必须在地理和GSM网络基础上进行调整。 [不,不要依赖交付报告 - 比短信发送更不可靠]

答案 2 :(得分:1)

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

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

但事实是,电话号码并不总是存储在SIM卡中。操作员选择是否这样做!

答案 3 :(得分:0)

你做不到。 AFAIK。

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

答案 4 :(得分:0)

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