Criteria criteria = new Criteria();
String proStr = locManager.getBestProvider(criteria, false);
这里返回的是network,但是却又说不可用,是disable的。请问为什么?
if ( !locManager.isProviderEnabled(proStr) )
{
List<String>strList = locManager.getAllProviders();
Toast.makeText(GetLocationActivity.this, proStr + " 不可用! 可用的服务是:" + strList.toString() + " 最适合的服务: "+ proStr, Toast.LENGTH_LONG).show();
return;
}LocationProvider lp = locManager.getProvider(proStr);
Location location = locManager.getLastKnownLocation(lp.getName());

解决方案 »

  1.   

    你有没有把手机上的setting中的gps provier个打开?
    在用之前,程序要先检测provider是否enable的。
      

  2.   

    我这个是用network的,不要打开这个吧。
    locManager.getBestProvider(criteria, false);  返回的是network!
    但是locManager.isProviderEnabled(proStr)  又返回不可用。
    这是搞不懂
      

  3.   

    都要enable,去setting中看看呗。
      

  4.   

    得到什么是NULL?如果是location建议看下这个
    http://topic.csdn.net/u/20120710/16/c1feba3d-f982-430f-902a-a6e22ebc5450.html
      

  5.   

        class MyListener implements LocationListener
        { @Override
    public void onLocationChanged(Location newLocation) {
    这个 newLocation返回的还是NULL
    怎么回事啊