我可以使用TelephonyManager::getNetworkCountryIso()
獲得ISO格式的國家代碼,因爲它會爲美國等返回美國,但是如何獲取數字國家撥號代碼?獲取國家和地區代碼
我似乎無法找到任何函數爲我提供了我正在尋找的數據,因爲我需要一個函數(例如)爲美國/加拿大返回01
,爲巴基斯坦返回92
等等。
我可以使用TelephonyManager::getNetworkCountryIso()
獲得ISO格式的國家代碼,因爲它會爲美國等返回美國,但是如何獲取數字國家撥號代碼?獲取國家和地區代碼
我似乎無法找到任何函數爲我提供了我正在尋找的數據,因爲我需要一個函數(例如)爲美國/加拿大返回01
,爲巴基斯坦返回92
等等。
由於它們是一個簡短的清單,並且有了明確的映射到alpha代碼,您是否可以只存儲映射?
我不確定這是你想要的,因爲巴基斯坦的ISO數字國家代碼是586,而你的問題引用了「92」,這是巴基斯坦的國際撥號代碼。儘管如此,同樣的原則仍然可行
Sory爲了混淆,實際上我想要國際撥號代碼。 Android中有沒有任何方法可以獲取? – ARDaniyal 2010-08-09 13:49:26
對不起,ISO代碼和撥號代碼是我在你的問題中知道的。不過,無論您的語言或平臺如何,您都可以嘗試從http://en.wikipedia.org/wiki/List_of_country_calling_codes創建列表。 – 2010-08-09 13:58:33
您可以通過http://country.io/phone.json獲得ISO2國家代碼到國際撥號代碼的JSON映射。下面是使得它使用一個簡單的PHP例子:
$codes = json_decode(file_get_contents("http://country.io/phone.json"), true);
echo $codes['US'];
// => 1
echo $codes['PK'];
// => 92
更多的相關數據見http://country.io/data/。
爲什麼美國/加拿大的「01」?這些可以最多3位數字。 – djechlin 2012-05-10 16:01:15