我写了一个需要用户位置的android应用程序,当我使用gps提供程序时工作正常,但我不想使用GPS,因为它使用了大量电池,这里是我的代码
LocationManager locaionManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER,5*1000,0, new MyLocaionListener());
Location loco = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
Log.d("enabled=" ,"" + locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER));
此代码返回null
位置对象,并且当禁用位置服务时logCat显示enabled=false
虽然我正在使用NETWORK_PROVIDER 但是当我启用位置服务时从手机设置我得到enabled=true
,我得到了我当前的位置
所以我的问题是:
网络提供商也使用手机GPS吗?以及GPS和NETWORK提供商如何在内部工作。