我如何获取设备的区号?
我有一个导入脚本,我抓住联系人列表中的所有电话号码,所以我可以将它与我的数据库中的列表进行比较并采取相应的行动。但是我知道有些人不会为某些联系人提供区号,因为他们不需要本地号码。我需要获取区号,以便我可以将其添加到我正在检查的号码中。
不是邮政5位邮政编码,3位区号。
我找到的所有方式都希望我到达那里然后得到它,我不想这样做,那太多工作得到3位数。
答案 0 :(得分:1)
如果联系人没有区号,则假设区号是本地区号。如果是本地区号,则用户的电话号码必须具有该区号。因此,您可以获取用户的电话号码以确定本地区号,并将该区号应用于任何没有区号的号码。
要获取用户的电话号码,您可以使用此代码 -
TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
String mPhoneNumber = tm.getLine1Number();
从this问题复制。
然后你可以通过查看前3个(或者如果String
的长度是11 char
s)数字,可以提取区号。
String areaCode = mPhoneNumer.substring(0, mPhoneNumber.length()==10 ? 3 : 4);
注意:确保通过添加此行将READ_PHONE_STATE权限添加到AndroidManifest.xml文件中 -
<uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>