我将如何获取设备的区号?
我有一个导入脚本,我在其中获取联系人列表中的所有电话号码,因此我可以将其与我的数据库中的列表进行比较并采取相应的行动。但是我知道有些人不会为某些联系人输入区号,因为他们不需要本地号码。我需要得到那里的区号,以便我可以将其添加到我正在检查的号码中。
不是邮政 5 位数的邮政编码,3 位数的区号。
我发现的所有方式都希望我到达那里的位置然后得到它,我不想那样做,获得 3 位数的工作量太大。
我将如何获取设备的区号?
我有一个导入脚本,我在其中获取联系人列表中的所有电话号码,因此我可以将其与我的数据库中的列表进行比较并采取相应的行动。但是我知道有些人不会为某些联系人输入区号,因为他们不需要本地号码。我需要得到那里的区号,以便我可以将其添加到我正在检查的号码中。
不是邮政 5 位数的邮政编码,3 位数的区号。
我发现的所有方式都希望我到达那里的位置然后得到它,我不想那样做,获得 3 位数的工作量太大。
如果联系人没有区号,则假定该区号是本地区号。如果是本地区号,那么用户的电话号码必须有这个区号。因此,您可以获得用户的电话号码以确定本地区号,并将该区号应用于任何没有区号的号码。
要获取用户的电话号码,您可以使用此代码 -
TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
String mPhoneNumber = tm.getLine1Number();
从这个问题复制。
String
然后,您可以通过查看前 3 个(或者如果11 char
s 的长度可能是 4 个)数字来提取区号。
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>