是的,我认为,这取决于提供者。有的传送国际号码,有的传送国内号码。
在后一种情况下,您只能进行一些最佳猜测。我对非国际号码采取了以下方法:使用当前网络提供商的国家代码。如果不可用,请使用 SIM 卡的国家/地区代码。如果这不可用,请使用当前语言环境的国家代码。
或者在android代码中:
TelephonyManager tm = (TelephonyManager) getActivity()
.getSystemService(Context.TELEPHONY_SERVICE);
String countryISOCode = tm.getNetworkCountryIso().toUpperCase(Locale.US);
if (countryISOCode.isEmpty()) { // when not connected fall back to the SIM's country
countryISOCode = tm.getSimCountryIso().toUpperCase(Locale.US);
}
if (countryISOCode.isEmpty()) { // when even no SIM, get the countrycode from the locale
countryISOCode = Locale.getDefault().getCountry();
}