Android– 获取用户手机的国际国家地区电话代码

Android– 获取用户手机的国际国家地区电话代码,第1张

概述我想让Android手机的国际国家根据手机的区域设置调用代码.我可以像这样得到手机的本地电话:Locale.getDefault().getCountry()但这不等于国际国家号码.例如LocaleJAPANESE=“ja”但是日本的国际呼叫代码是“JA”我试图根据本地而不是SIM卡获取手机的国际呼叫代码,因为有些手机

我想让Android手机的国际国家根据手机的区域设置调用代码.

我可以像这样得到手机的本地电话:

Locale.getDefault().getCountry()

但这不等于国际国家号码.例如Locale JAPAnesE =“ja”但是日本的国际呼叫代码是“JA”

我试图根据本地而不是SIM卡获取手机的国际呼叫代码,因为有些手机可能没有SIM卡而只是数据.我想根据用户的区域设置预先填写国家/地区代码.

解决方法:

我认为没有直接的方法可以做到这一点.您可以转换拨号代码

<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>

然后 …

public static String getCountryDialCode(){    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;}

更新:

如果没有插入SIM卡…

public String getCountryCode() {    String my_country_code_letters = getMyLocale().getCountry();    String[] country_codes = this.getResources().getStringArray(R.array.DialingCountryCode);    String my_country_code_number = null;    for (int i = 0; i < country_codes.length && i != (-1); i++) {        String[] split_code = country_codes[i].split(",");        if (split_code[1].matches(my_country_code_letters)) {            my_country_code_number = split_code[1];            break;        }    }    return my_country_code_number;}public Locale getMyLocale() {    Locale myLocale;    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {        myLocale = getBaseContext().getResources().getConfiguration().getLocales().get(0);    } else {        myLocale = getBaseContext().getResources().getConfiguration().locale;    }    return myLocale;}
总结

以上是内存溢出为你收集整理的Android – 获取用户手机的国际国家/地区电话代码全部内容,希望文章能够帮你解决Android – 获取用户手机的国际国家/地区电话代码所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1112485.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存