以编程方式在Symbian中获得自己的电话号码
时间:2020-03-05 18:52:41 来源:igfitidea点击:
如何在Symbian中获取设备的电话号码?
解决方案
回答
仅供参考:实际上我已经找到了。
http://www3.symbian.com/faq.nsf/AllByDate/100335073FFD8FEF80256E3200571A49?OpenDocument
但事实是,电话号码并不总是存储在SIM卡中。操作员选择是否这样做!
回答
你不能据我所知。
查看此讨论:
http://discussion.forum.nokia.com/forum/showthread.php?t=65117
回答
根据GSM规范,SIM卡上仅要求IMSI可用。
实际电话号码MSISDN存储在运营商网络的HLR数据库中,不需要在SIM卡上可用或者传输到电话。
因此,无论我们使用哪种技术(Symbina,Java ...),我们都永远无法依靠始终如一地从设备或者SIM中获取自己的电话号码。如果运营商将其存储在SIM卡中,或者电话为用户提供了手动输入的可能性,那么我们可能会很幸运,但是不必一定要这样。
回答
通常不可能从Symbian设备(或者BREW或者任何其他平台)获取MSISDN。我们已经尝试过了。
回答
正如Pat所说,尽管有一些API可以访问SIM卡上的"本机号码"插槽,但根据我的经验,这个插槽很少被填充。
获取已连接应用程序的电话号码的通常策略是发送SMS作为验证过程的一部分。任何一个:
- 以编程方式将短信从手机发送到服务器(那里有很多不错的SMS网关互连提供商)。 SMS将从手机的号码(或者更正确的SIM卡)"到达"服务器。当然,SMS应该包含一些令牌,以便服务器可以将其与给定的会话/用户链接。这样做的好处是我们不需要用户输入自己的电话号码(由于很少有人了解如何以E.164格式设置号码,因此这很困难。一个缺点是该过程可能会花费用户钱(一个SMS)。
- 让用户输入他们的电话号码(网站或者手机上)并通过该电话号码连接到服务器。然后让听筒等待从服务器发送的SMS到达。如果确实收到此SMS,则说明我们已验证他们输入的电话号码正确无误。明显的缺点是,这依赖于用户正确输入他们的号码-再次,鉴于世界各地有太多写电话号码的方式,它听起来并不像将号码标准化为E.164那样简单。
,,这两种方法都不是防弹的,特别是因为SMS是未连接的传输。根据GSM网络的负载,网关提供商的负载,月相和吹SMS的方向可能需要一到两个月才能到达(是的,我确实有后者的经验)。平均传送时间通常以秒为单位,但是我们必须考虑操作超时,并且可能必须根据地理位置和GSM网络对其进行调整。
[而且,不要比SMS传送更不可靠地依赖传送报告]