2010-08-09 176 views
3

我可以使用TelephonyManager::getNetworkCountryIso()獲得ISO格式的國家代碼,因爲它會爲美國等返回美國,但是如何獲取數字國家撥號代碼?獲取國家和地區代碼

我似乎無法找到任何函數爲我提供了我正在尋找的數據,因爲我需要一個函數(例如)爲美國/加拿大返回01,爲巴基斯坦返回92等等。

+0

爲什麼美國/加拿大的「01」?這些可以最多3位數字。 – djechlin 2012-05-10 16:01:15

回答

2

由於它們是一個簡短的清單,並且有了明確的映射到alpha代碼,您是否可以只存儲映射?

我不確定這是你想要的,因爲巴基斯坦的ISO數字國家代碼是586,而你的問題引用了「92」,這是巴基斯坦的國際撥號代碼。儘管如此,同樣的原則仍然可行

+0

Sory爲了混淆,實際上我想要國際撥號代碼。 Android中有沒有任何方法可以獲取? – ARDaniyal 2010-08-09 13:49:26

+0

對不起,ISO代碼和撥號代碼是我在你的問題中知道的。不過,無論您的語言或平臺如何,您都可以嘗試從http://en.wikipedia.org/wiki/List_of_country_calling_codes創建列表。 – 2010-08-09 13:58:33

0

您可以通過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/