我想获得手机号码的设备.我已经使用
Alex Volovoy’s
This Link以下代码引用
TelephonyManager tMgr = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE); String mPhoneNumber = tMgr.getLine1Number(); Log.d("msg","Phone : "+mPhoneNumber);
Logcat中的OUTPUT:
没有SIM卡手机返回:
02-01 17:22:45.472: D/msg(29102): Phone : null
用Simcard:
02-01 17:22:45.472: D/msg(29102): Phone :
我也已经在< uses-permission android:name =“android.permission.READ_PHONE_STATE”/>在AndroidManifest.xml中
所以我该怎么做?有没有错误?
解决方法
要从设备获取电话号码,首先必须在设备上设置自己的电话号码,只需通过:
设置 – >关于电话 – >状态 – >我的电话号码
SIM卡上的电话号码不适用于每个操作符,如在印度,Sim没有任何记忆中的电话号码,所以我们无法从这些连接中获取电话号码.然而,一些国家和操作符已经在SIM卡上存储了电话号码,我们可以得到这些.为了使其适用于所有设备,我们可以采用两种策略:
为了避免这个问题,我们可以抓住错误并相应地工作.喜欢:
TelephonyManager tMgr = (TelephonyManager) ShowMyLocation.this.getSystemService(Context.TELEPHONY_SERVICE); String MyPhoneNumber = "0000000000"; try { MyPhoneNumber =tMgr.getLine1Number(); } catch(NullPointerException ex) { } if(MyPhoneNumber.equals("")){ MyPhoneNumber = tMgr.getSubscriberId(); }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。