在android中获取本机号码可以通过TelephonyManager对象中的方法来读取,步骤如下:
step1. 在AndroidManifest.xml文件中设置权限——“允许读取电话状态”,代码如下:
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
step2. 在java代码中编写获取电话号码代码
step2.1. 创建一个 TelephonyManager对象;
step2.2. 获取电话号码;
step2.3. 将电话号码显示出来。(根据需要)
代码如下,在onCreate
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// 关联布局文件中的TextView
TextView mytelnum = (TextView)findViewById(R.id.telnum);
// 创建TelephonyManager对象
TelephonyManager TelMng = (TelephonyManager)this.getSystemService(Context.TELEPHONY_SERVICE);
// 获取电话号码
String num = TelMng.getLine1Number();
// 判断是否提取到电话号码,如果有则在文本中显示电话号码,如没有这提示“SIM卡没有此信息”
if(num.length()<1)
mytelnum.setText("SIM卡没有此信息");
else
mytelnum.setText(num);
}
也许你在试着提取电话号码是会发现,有的手机的号码根本提取不到,这不是代码有错误,而是SIM卡里没有电话号码这个信息,有的移动运营商没有把 手机号码的数据写入到sim卡中,自然无法获取到。