TelephonyManager tm =(TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
CellLocation loc =tm.getCellLocation();
//loc.requestLocationUpdate();
PhoneStateListener listener =new PhoneStateListener();
tm.listen(listener, 0);
GsmCellLocation gsm =((GsmCellLocation)tm.getCellLocation());
List list=tm.getNeighboringCellInfo();系统版本 2.1-update1
手机型号:Motorola-XT502
SDK version:7获取的list.size()=0,请问为什么啊?

解决方案 »

  1.   

    看看logcat有没有异常或者错误提示,LZ检查是否添加对应的permission
      

  2.   

    我程序中CellLocation loc =tm.getCellLocation();
    loc返回的NULL权限都加上了,在1.5版本的手机上能获取到,在2.2.2系统的另外一部手机就一直是null,通过debug调试发现loc为null,不知楼主是否遇到过类似情况。很费解我试过用其他方法都没拿到,除了在室外通过GPS能获取到坐标外,其他都不行。
      

  3.   

    哈哈哈,终于让我发现问题所在了,真的感慨学艺不精啊,废话不多说了,讲下我发现的问题所在吧:
    首先CellLocation loc =tm.getCellLocation();是要求通过基站定位的,但需要SIM卡,我也很郁闷两个手机安装同样的程序,为什么一个能拿到信息,而另外一个却返回null呢?猛然间我看到cell想到所谓的基站应该是通过手机SIM发送的信号获取为之服务的基站位置信息的,所以我把SIM装到那个返回null的手机测试,shit,果然是这样,但是我一直没解决的是通过network获取location的时候却一直没有信息,依然是null,可能跟手机有关吧,我的G3不论是通过GPS,network,还是刚才这种方式都能轻松获取到location经纬度等信息,而在夏普的上就不那么顺呢,使用network怎样都拿不到位置信息,真TMD郁闷。看来还得再研究研究了。
      

  4.   


    我的xt502,用network也得不到