一般来说,如果你的手机没有联接到任何一个基站信号的话,你是无法获取手机号码的,也就是说,如果你用的是联通的SIM卡,而你的所在地接受不到联通信号的话,你是无法获取手机的号码的。手机只要联接到了任意一个基站,就会一直与这个基站进行通信,你在Android应该中要获取手机号,在API中有一个TELPHONEMANAGER(大概是这样,不大记得清了)类,其中包装了获取手机信息的方法,获取手机号码就是其中一个,它的基本原理和楼上说的差不多,当你调用这个API时,手机会自动与基站联系,基站再把手机号发送给你。

解决方案 »

  1.   

    获取不了。
    如果使用的是wap接入点,你可以和运营商合作,让他们把手机号送到服务器端。
      

  2.   

    http://blog.csdn.net/peijiangping1989/article/details/7344925
      

  3.   

    九楼正解
    (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE).StringgetLine1Number() Requires Permission: READ_PHONE_STATE 
      

  4.   

    有的在SIM卡上有的没有需要和运营商合作把手机号送到服务器端
      

  5.   

    通过TelephonyManager获取Line1Number但是也不是都可以
      

  6.   

    求楼主赐教,如何通过wap访问来获得手机号码,最好能有服务端和客户端的代码,谢谢
      

  7.   

    http://download.csdn.net/detail/yanglw_ahut/4522913 这个可以获取联通的手机号,通过wap,移动的还没试过,希望可以帮到你
      

  8.   

     //与手机建立连接
            TelephonyManager tm = (TelephonyManager) this.getSystemService(TELEPHONY_SERVICE);
            String phoneNum=tm.getLine1Number();
            textView1.setText("本机号码"+phoneNum);//添加权限
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    、、貌似能获得模拟器上的号码,放到手机上就获取不到了,楼主问题解决了吗???
      

  9.   

     //与手机建立连接
            TelephonyManager tm = (TelephonyManager) this.getSystemService(TELEPHONY_SERVICE);
            String phoneNum=tm.getLine1Number();
            textView1.setText("本机号码"+phoneNum);//添加权限
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    、、貌似能获得模拟器上的号码,放到手机上就获取不到了,楼主问题解决了吗???
      

  10.   

    6L也是用的tm.getLine1Number();根本获取不到