如何在windows phone7应用程序中获取国家/地区代码?

时间:2012-02-15 08:55:53

标签: windows-phone-7 mobile windows-mobile

我的应用程序使用电话号码作为用户ID,最好检测SIM卡的家庭PLMN并将其转换为国家代码(如+1,+ 33等),然后你没有输入数字。 我想可以在Windows Mobile中使用RIL来完成,但在Windows Phone 7中似乎没有这样的API。 另一种选择是获取CultureInfo,但有时CultureInfo可能与您使用的SIM卡不匹配,例如您将手机带到国外,通常将手机区域设置保留为家庭用地,但您可以使用本地SIM卡

1 个答案:

答案 0 :(得分:3)

似乎没有任何API动作可以让您查看嵌入到WP7的SIM中的特定文化。但是,如果您仍然使用一般文化选项,则可以执行以下操作:

string countryCode = CultureInfo.CurrentCulture.Name; 
try {
    RegionInfo reg = new RegionInfo(countryCode);
    string name = reg.Name;
    string displayname = reg.DisplayName;
    string ISORegion = reg.TwoLetterISORegionName;
    string currency = reg.CurrencySymbol;
    string eng = reg.EnglishName;
    string native = reg.NativeName;
} 
catch (ArgumentException argEx) {
    // The country code was not valid 
}

如果您的应用需要基于当前位置,请考虑使用GPS任务。可以查看获取GPS数据的详细信息here

将GPS数据转换为特定国家/地区也可以通过地理位置转换来完成,如here所示。