android通过无线网络定位的有关问题(难道又是中国特色?)

android通过无线网络定位的问题(难道又是中国特色?)
  做网络定位整整一天了,快崩溃了。严重怀疑是中国特色。
  先说说我的步骤吧。
  1,在‘设置‘--‘位置和安全‘里勾选使用无线网络,来激活NETWORK_PROVIDER.
     也可以在代码里判断
  if(!locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER)){
    context.startActivity(new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS));
  }

  2,在manifest里添加权限
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
  3,写代码
  LocationManager locationManager = null;
  locationManager = (LocationManager)context.getSystemService(Context.LOCATION_SERVICE);
  if(locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER)){
       Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_FINE); //高精度
criteria.setAltitudeRequired(false); //不要求海拔
criteria.setBearingRequired(false); //不要求方位
criteria.setCostAllowed(false); //不允许有话费
criteria.setPowerRequirement(Criteria.POWER_LOW); //低功耗

//provider的类型
String provider =LocationManager.NETWORK_PROVIDER;
                        Location location = locationManager.getLastKnownLocation(provider);
                        locationManager.requestLocationUpdates(provider, 0, 0,
locationListener);
  }

  LocationListener locationListener = new LocationListener() {
public void onLocationChanged(Location location) {
Log.d(TAG, "wwp onLocationChanged");
                        locationManager.removeUpdates(locationListener);
                }
                public void onProviderDisabled(String provider) {
}
public void onProviderEnabled(String provider) {
Log.d(TAG, "wwp onProviderEnabled");
}
public void onStatusChanged(String provider, int status, Bundle extras) {
Log.d(TAG, "wwp onStatusChanged");
}
  }

  4,问题:
      1)首先,locationManager.getLastKnownLocation会返回null。可能是没有保存过位置,返回null也可以理解。
      2)而且onLocationChanged没被调用过,而onProviderEnabled是可以被调用的,说明listener设置没问题。
      3)怀疑是手机的问题,换了一部手机,同样不行。换了第二部手机,奇迹出现了!!!!!!!!!!!!成功获得了
            位置信息,只用了两三秒钟!!!!!!!!!

   5,总结:
       质疑精神是好的,但方向不对就容易钻牛角尖。拉不出baba怪地球没引力,失眠怪床歪是不行滴。
       我的破手机,真像砸了它!
------解决思路----------------------
不同厂家把Android手机框架改得你已经无法用官方的标准去用了。