Phone 7 OS 7.0上的运营商识别

时间:2011-09-13 14:22:21

标签: c# windows-phone-7

对于我的应用,我需要根据本地电话运营商进行一些检查。我发现有一些可能的方法可以在其他移动操作系统上获取该信息(IMSI,...)。对于Windows Phone 7,我找到了一种基于操作系统版本> = 7.1对设备进行检查的方法。

http://msdn.microsoft.com/en-us/library/microsoft.phone.net.networkinformation.devicenetworkinformation.cellularmobileoperator%28v=VS.92%29.aspx

现在我的问题是:有没有办法在设备上获取运营商信息< 7.1?

由于

1 个答案:

答案 0 :(得分:0)

IIRC,用户代理字符串应该包含您正在寻找的大部分信息,例如

Mozilla/4.0 (compatible; MSIE 7.0; Windows Phone OS 7.0; Trident/3.1; IEMobile/7.0) Asus;Galaxy6 (通过http://madskristensen.net/post/Windows-Phone-7-user-agents.aspx

UA字符串的一般格式是这样的(对于Mango): Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0; <manufacturer>; <model> [;<operator])

正如您所看到的,操作员信息可能在UA字符串中可用,但不能保证(由每个运营商决定是否通过它)。这适用于(我相信)OS&lt; 7.5也。

然而,从实际角度来看,它并不是一种非常可靠的确定载体的方法。您可以通过IP地址所有者查找来补充/补充这一点 - 获取手机(3G,而不是wifi natch)IP并检查哪个运营商拥有该地址块。这样做的好处是可以告知您用户当前访问数据的载体,这可能与用户订阅的实际载体不同。

Joe Healy有一篇很棒的文章,展示了来自不同WP7设备的许多不同的UA字符串here

另请参阅http://blogs.msdn.com/b/iemobile/archive/2010/03/25/ladies-and-gentlemen-please-welcome-the-ie-mobile-user-agent-string.aspx