Android获取设备国家/地区代码

aye*_*don 6 android

我想在不使用SIM卡的情况下获取设备国家/地区代码。

例如,如果国家/地区:斯里兰卡国家/地区代码:LK

我的最终目标是获取调用代码(斯里兰卡为+94)

我尝试过

TelephonyManager tm = (TelephonyManager)this.getSystemService(getApplicationContext().TELEPHONY_SERVICE);
String countryCodeValue = tm.getNetworkCountryIso();
Run Code Online (Sandbox Code Playgroud)

但这返回空字符串

dco*_*cow 4

它返回一个空字符串,因为该设备没有 SIM 卡。

您也许可以使用设备的当前区域设置

Locale current = getResources().getConfiguration().locale;
Run Code Online (Sandbox Code Playgroud)

但这不一定与您通过查看运营商获得的结果相同,iso并且用户可以随时在设置中进行更新。如前所述,您还可以向位置管理器询问用户的坐标。但请记住,用户会四处走动,他们当前的位置可能并不总是与其运营商的位置相对应iso