android 获取位置
16lz
2021-01-23
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>只用网络信号站。
更多相关文章
- android json实现网络请求 和普通的http请求 还有https请求安全
- Android网络游戏之神农诀项目开发--视频观看地址
- Android 异步网络请求框架-Volley
- android网络图片的下载
- Android 系统音量最大值的定义位置以及默认值的修改方法
- Android下检测网络连接 3G WIFI
- Android wifi提示已连接但是无法访问网络
- Android 检测网络是否打开
- android 网络连接判断