android 获取位置

android 获取位置

android 获取位置 是通过 android.location package .里面有核心类LocationManager 。如果想要将得到的Location信息在地图上表示出来,则需要借助Google的地图扩展API。

一,获取位置的方法。

1, 声明许可。

<manifest ... >
    <uses-permissionandroid:name="android.permission.ACCESS_FINE_LOCATION"/>    //GPS的LocationProvider 和网络信号站的LocationProvider.
    <uses-permissionandroid:name="android.permission.ACCESS_COARSE_LOCATION"/>    //网络信号站的LocationProvider.
</manifest>

2,获取LocationManager.
LocationManager locationManager =(LocationManager)this.getSystemService(Context.LOCATION_SERVICE);

3,选择LocationProvider.
GPS的精度更高,但是也更耗电。
LocationProvider locationProvider =LocationManager.NETWORK_PROVIDER;   //网络信号站的LocationProvider

LocationProvider locationProvider = LocationManager.GPS_PROVIDER; //GPS的LocationProvider
3,监听.
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER,0,0,new LocationListener(){...});
4,得到位置信息
Location lastKnownLocation = locationManager.getLastKnownLocation(locationProvider);
5,取消监听。
locationManager.removeUpdates(locationListener);
二 平衡耗电与Location精确度。
取得的Location越多,通过算法,能够得到相对更精确的位置,但是,耗时长,耗电也多。所以需要平衡耗电与Location精确度。
减少耗电的办法:
1,减少监听的时间。
2,尽量减少update.可以增大requestLocationUpdates()第二个和第三个参数。
3,耗电:GPS和网络信号站都用>只用GPS>只用网络信号站。

猜你喜欢

转载自f059074251.iteye.com/blog/1883880