android学习笔记——Localtion服务之LocationManager
2016-03-20 00:06
393 查看
/article/7553414.html
慢慢看一下上述的连接中关于LocationManager的讲解以及其中得注释部分,博主讲的挺详细了。
接下来我把LocationManager的基本用法零碎的写一下
获取到一个LocationManager的实例调用系统的服务(因为LocationManager本身就是一个系统的服务)
LocationManager locationManager = (LocationManager) getSystemService (Context.LOCATION_SERVICE);
接下来我们需要一个位置提供器来确定设备当前的位置。android中一般有三种位置提供器可供选择,GPS_PROVIDER、NETWORK_PROVIDER、PASSIVE_PROVIDER 。其中前两种使用比较多,分别表示使用GPS定位和使用网络定位。
GPS 耗电高,准确度高
网络 耗电低,准确度稍差(很不错的选择)
选择好位置提供器的方式后
String provider = LocationManager.NETWORK_PROVIDER;
Location location = locationManager.getLastKnowLocation (provider);
这个location对象中包含里经度、纬度、海拔等一系列位置信息,然后从中取出我们要的就好。
判断一下有哪些位置提供器可用,我们可以用一个数组来接收目前启用的位置提供器有哪些,然后再根据需要进行甄别。
List<String> providerList = locationManager.getProviders (true) ;
传入的true 表示,只有启用的位置提供器才会被返回。
当位置发生改变时,我们以隔一段时间请求一次的方式来获取更改的状态,同时,利用监听事件来对改变的状态进行判别。
locationManager . requestLocationUpdates (LocationManager.GPS_PROVEDER , 5000 , 10 , new LocationListener () {
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
}
@Override
public void onProviderEnabled(String provider) {
}
@Override
public
void onProviderDisabled(String provider) {
}
@Override
public void onLocationChanged(Location location) {
}
});
当状态发生改变时(如移动距离超过了10米,就会调用LocationListener的onLocationChanged () 方法,并把新的位置信息传入)
慢慢看一下上述的连接中关于LocationManager的讲解以及其中得注释部分,博主讲的挺详细了。
接下来我把LocationManager的基本用法零碎的写一下
获取到一个LocationManager的实例调用系统的服务(因为LocationManager本身就是一个系统的服务)
LocationManager locationManager = (LocationManager) getSystemService (Context.LOCATION_SERVICE);
接下来我们需要一个位置提供器来确定设备当前的位置。android中一般有三种位置提供器可供选择,GPS_PROVIDER、NETWORK_PROVIDER、PASSIVE_PROVIDER 。其中前两种使用比较多,分别表示使用GPS定位和使用网络定位。
GPS 耗电高,准确度高
网络 耗电低,准确度稍差(很不错的选择)
选择好位置提供器的方式后
String provider = LocationManager.NETWORK_PROVIDER;
Location location = locationManager.getLastKnowLocation (provider);
这个location对象中包含里经度、纬度、海拔等一系列位置信息,然后从中取出我们要的就好。
判断一下有哪些位置提供器可用,我们可以用一个数组来接收目前启用的位置提供器有哪些,然后再根据需要进行甄别。
List<String> providerList = locationManager.getProviders (true) ;
传入的true 表示,只有启用的位置提供器才会被返回。
当位置发生改变时,我们以隔一段时间请求一次的方式来获取更改的状态,同时,利用监听事件来对改变的状态进行判别。
locationManager . requestLocationUpdates (LocationManager.GPS_PROVEDER , 5000 , 10 , new LocationListener () {
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
}
@Override
public void onProviderEnabled(String provider) {
}
@Override
public
void onProviderDisabled(String provider) {
}
@Override
public void onLocationChanged(Location location) {
}
});
当状态发生改变时(如移动距离超过了10米,就会调用LocationListener的onLocationChanged () 方法,并把新的位置信息传入)
相关文章推荐
- android学习笔记——Intent的解析(Intent的隐式调用)
- android学习笔记——回调机制
- android布局
- Android规范文档
- android数据传递
- ListView嵌套ListView缓存失效问题
- Android Studio从硬盘上彻底删除Project项目
- Android 存储中的内部存储和外部存储
- android Realm数据操作类详解
- Android Studio添加依赖时出现“Manifest merger failed”
- Android开发之通过反射获取到Android隐藏的方法
- Mac和Windows上Android Studio常用的快捷键
- Android Studio 中快速提取方法
- Android SDK与API版本的对应关系
- 自定义listview Android
- Android开发不完整规范
- Android中listView选中第一行,或任意一行(listView优化,很标准)
- 高德地图发布版SHA1获取
- android-1(android环境的搭建)
- android 没有出现menu 按键显示 解决