感觉用账号密码使用者用起来很麻烦。所以想获取手机号码来登录用了以下代码发现获取到空值 private String GetPhoneID(){  
TelephonyManager phoneMgr=(TelephonyManager)this.getSystemService(Context.TELEPHONY_SERVICE);
return phoneMgr.getLine1Number();  }权限什么的确定有加上去:<uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>有没办法获取本机手机号码?或者用其它替换的办法?

解决方案 »

  1.   

    手机号码不是所有的都能获取。只是有一部分可以拿到。
    这个是由于移动运营商没有把手机号码的数据写入到sim卡中.SIM卡只有唯一的编号,供网络与设备 识别那就是IMSI号码,手机的信号也可以说是通过这个号码在网络中传递的,并不是手机号码。试想,你的SIM丢失后,补办一张新的会换号码吗?是不会 的.就是因为在你的手机号码对应的IMSI号 在移动运营商中被修改成新SIM卡的IMSI号码。 
    能够读取SIM卡号的话应该有前提.那就是SIM卡已经写入了本机号码,不然是无法读取的
      

  2.   

    本机号码不一定有,这个跟用户的手机卡有关系,不过楼主可以使用设备的IMEI号,也是唯一的,应用汇好像就是这么搞的,我每次卸载应用汇之后再安装上还能看到我的之前的下载记录,当然前提是没有换机器
      

  3.   

    除了IMEI还有吗?使用者经常要换手机。。