我需要一种方法来获取我在Xamarin(Android和iOS)中制作的应用的国家/地区代码。语言还不够,因为许多人(例如我)在手机上使用英语作为语言。
我已经尝试过以下方法:
-RegionInfo.CurrentRegion(返回在设置中设置的语言)
-CultureInfo.CurrentCulture(返回设置中设置的语言)
-NSLocale类(仅适用于iOS)
使用依赖项服务:
Shared:
public interface IRegionCulture
{
CultureInfo GetRegionCulture();
}
Android:
public CultureInfo GetRegionCulture()
{
return new CultureInfo(Java.Util.Locale.Default.ToString());
}
iOS:
public CultureInfo GetRegionCulture()
{
var code = NSLocale.CurrentLocale.CountryCode;
var culture = CultureInfo.GetCultures(CultureTypes.AllCultures).FirstOrDefault(c => c.Name.EndsWith("-" + code, StringComparison.Ordinal));
return culture;
}