Skip to content Skip to sidebar Skip to footer

How To Get Country Code(calling Code) In Android?

How can I get Country code of my sim in android code. I have used TelephonyManager tm = (TelephonyManager)getSystemService(getApplicationContext().TELEPHONY_SERVICE); St

Solution 1:

There is no direct method in the TelephonyManager class which will return you dialing code of country. You have to make a key value pair list for all country.

<string-array name="DialingCountryCode" >
<item>32,BE</item><item>501,BZ</item><item>229,BJ</item><item>975,BT</item><item>591,BO</item><item>387,BA</item><item>267,BW</item><item>55,BR</item><item>673,BN</item><item>359,BG</item><item>226,BF</item><item>95,MM</item><item>257,BI</item><item>855,KH</item><item>237,CM</item><item>1,CA</item><item>238,CV</item><item>236,CF</item><item>235,TD</item><item>56,CL</item><item>86,CN</item><item>61,CX</item><item>61,CC</item><item>57,CO</item><item>269,KM</item><item>242,CG</item><item>243,CD</item><item>682,CK</item><item>506,CR</item><item>385,HR</item><item>53,CU</item><item>357,CY</item><item>93,AF</item><item>355,AL</item><item>213,DZ</item><item>376,AD</item><item>244,AO</item><item>672,AQ</item><item>54,AR</item><item>374,AM</item><item>297,AW</item><item>61,AU</item><item>43,AT</item><item>994,AZ</item><item>973,BH</item><item>880,BD</item><item>375,BY</item><item>420,CZ</item><item>45,DK</item><item>253,DJ</item><item>670,TL</item><item>593,EC</item><item>20,EG</item><item>503,SV</item><item>240,GQ</item><item>358,FI</item><item>33,FR</item><item>291,ER</item><item>372,EE</item><item>251,ET</item><item>500,FK</item><item>298,FO</item><item>679,FJ</item><item>689,PF</item><item>241,GA</item><item>220,GM</item><item>995,GE</item><item>49,DE</item><item>233,GH</item><item>350,GI</item><item>30,GR</item><item>299,GL</item><item>502,GT</item><item>224,GN</item><item>245,GW</item><item>592,GY</item><item>509,HT</item><item>504,HN</item><item>852,HK</item><item>36,HU</item><item>91,IN</item><item>62,ID</item><item>98,IR</item><item>964,IQ</item><item>353,IE</item><item>44,IM</item><item>972,IL</item><item>39,IT</item><item>225,CI</item><item>81,JP</item><item>962,JO</item><item>7,KZ</item><item>254,KE</item><item>686,KI</item><item>965,KW</item><item>996,KG</item><item>856,LA</item><item>371,LV</item><item>961,LB</item><item>266,LS</item><item>231,LR</item><item>218,LY</item><item>423,LI</item><item>370,LT</item><item>352,LU</item><item>853,MO</item><item>389,MK</item><item>261,MG</item><item>265,MW</item><item>60,MY</item><item>960,MV</item><item>223,ML</item><item>356,MT</item><item>692,MH</item><item>222,MR</item><item>230,MU</item><item>262,YT</item><item>52,MX</item><item>691,FM</item><item>373,MD</item><item>377,MC</item><item>976,MN</item><item>382,ME</item><item>212,MA</item><item>258,MZ</item><item>264,NA</item><item>674,NR</item><item>977,NP</item><item>31,NL</item><item>599,AN</item><item>687,NC</item><item>64,NZ</item><item>505,NI</item><item>227,NE</item><item>234,NG</item><item>683,NU</item><item>850,KP</item><item>47,NO</item><item>968,OM</item><item>92,PK</item><item>680,PW</item><item>507,PA</item><item>675,PG</item><item>595,PY</item><item>51,PE</item><item>63,PH</item><item>870,PN</item><item>48,PL</item><item>351,PT</item><item>1,PR</item><item>974,QA</item><item>40,RO</item><item>7,RU</item><item>250,RW</item><item>590,BL</item><item>685,WS</item><item>378,SM</item><item>239,ST</item><item>966,SA</item><item>221,SN</item><item>381,RS</item><item>248,SC</item><item>232,SL</item><item>65,SG</item><item>421,SK</item><item>386,SI</item><item>677,SB</item><item>252,SO</item><item>27,ZA</item><item>82,KR</item><item>34,ES</item><item>94,LK</item><item>290,SH</item><item>508,PM</item><item>249,SD</item><item>597,SR</item><item>268,SZ</item><item>46,SE</item><item>41,CH</item><item>963,SY</item><item>886,TW</item><item>992,TJ</item><item>255,TZ</item><item>66,TH</item><item>228,TG</item><item>690,TK</item><item>676,TO</item><item>216,TN</item><item>90,TR</item><item>993,TM</item><item>688,TV</item><item>971,AE</item><item>256,UG</item><item>44,GB</item><item>380,UA</item><item>598,UY</item><item>1,US</item><item>998,UZ</item><item>678,VU</item><item>39,VA</item><item>58,VE</item><item>84,VN</item><item>681,WF</item><item>967,YE</item><item>260,ZM</item><item>263,ZW</item>
</string-array>

publicstaticStringgetCountryDialCode(){
    String contryId = null;
    String contryDialCode = null;

    TelephonyManager telephonyMngr = (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE);

    contryId = telephonyMngr.getSimCountryIso().toUpperCase();
    String[] arrContryCode=this.getResources().getStringArray(R.array.DialingCountryCode);
    for(int i=0; i<arrContryCode.length; i++){
        String[] arrDial = arrContryCode[i].split(",");
        if(arrDial[1].trim().equals(CountryID.trim())){
            contryDialCode = arrDial[0];
            break;  
        }
    }
    return contryDialCode;
}

Solution 2:

Actually libphonenumber is more convenient and is maintained:

PhoneNumberUtil.createInstance(getContext())getCountryCodeForRegion(countryNameCode)

For Android instead of using the Google library this one seems to be more lightweight: https://github.com/MichaelRocks/libphonenumber-android

Solution 3:

The Best Way to the Get Country Code is by using this lib.

Get Complete Documentation from Github

This Library can detect country code automatically by just Adding this Attribute app:ccp_autoDetectCountry="true"

Code Example :

<com.hbb20.CountryCodePicker
    android:id="@+id/ccp"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:padding="8dp"
    app:ccp_showFullName="false"
    app:ccp_showNameCode="false"
    app:ccp_showPhoneCode="true"
    app:ccp_autoDetectCountry="true"/>

read Complete Implementation Details from github https://github.com/hbb20/CountryCodePickerProject

Post a Comment for "How To Get Country Code(calling Code) In Android?"