安卓基于位置的服务学习整理
2015-11-13 13:16
411 查看
借助LocationManager类实现定位
在AndroidMainfest.xml声明权限
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
//实例化LocationManager
locationManager=(LocationManager)getSystemService(Context.LOCATION_SERVICE);
//获取可用的位置提供器
List<String> providerList=locationManager.getProviders(true);
if(providerList.contains(LocationManager.GPS_PROVIDER)){
provider=LocationManager.GPS_PROVIDER;
}else if(providerList.contains(LocationManager.NETWORK_PROVIDER)){
provider=LocationManager.NETWORK_PROVIDER;
}else{
Toast.makeText(this, "没有可用的定位",Toast.LENGTH_SHORT).show();
return;
}
//获取当前位置信息
location=locationManager.getLastKnownLocation(provider);
//显示位置
if(location!=null){
showLocation(location);
}
//更新位置信息
locationManager.requestLocationUpdates(provider,5000, 1, locationListener);
//位置监听器
LocationListener locationListener=new LocationListener() {
@Override
public void onStatusChanged(String arg0, int arg1, Bundle arg2) {
// TODO Auto-generated method stub
}
@Override
public void onProviderEnabled(String arg0) {
// TODO Auto-generated method stub
}
@Override
public void onProviderDisabled(String arg0) {
// TODO Auto-generated method stub
}
@Override
public void onLocationChanged(Location arg0) {
// TODO Auto-generated method stub
showLocation(location);
}
};
//显示位置的实现
private void showLocation(Location location){
String currentLocation="纬度是"+location.getLatitude()+"\n"+"经度是"+location.getLongitude();
positionTextView.setText(currentLocation);
}
在AndroidMainfest.xml声明权限
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
//实例化LocationManager
locationManager=(LocationManager)getSystemService(Context.LOCATION_SERVICE);
//获取可用的位置提供器
List<String> providerList=locationManager.getProviders(true);
if(providerList.contains(LocationManager.GPS_PROVIDER)){
provider=LocationManager.GPS_PROVIDER;
}else if(providerList.contains(LocationManager.NETWORK_PROVIDER)){
provider=LocationManager.NETWORK_PROVIDER;
}else{
Toast.makeText(this, "没有可用的定位",Toast.LENGTH_SHORT).show();
return;
}
//获取当前位置信息
location=locationManager.getLastKnownLocation(provider);
//显示位置
if(location!=null){
showLocation(location);
}
//更新位置信息
locationManager.requestLocationUpdates(provider,5000, 1, locationListener);
//位置监听器
LocationListener locationListener=new LocationListener() {
@Override
public void onStatusChanged(String arg0, int arg1, Bundle arg2) {
// TODO Auto-generated method stub
}
@Override
public void onProviderEnabled(String arg0) {
// TODO Auto-generated method stub
}
@Override
public void onProviderDisabled(String arg0) {
// TODO Auto-generated method stub
}
@Override
public void onLocationChanged(Location arg0) {
// TODO Auto-generated method stub
showLocation(location);
}
};
//显示位置的实现
private void showLocation(Location location){
String currentLocation="纬度是"+location.getLatitude()+"\n"+"经度是"+location.getLongitude();
positionTextView.setText(currentLocation);
}
相关文章推荐
- android进阶
- android开发学习如何一体化?从入门到高端开发的路如何走?
- Android学习
- Android学习资料
- Android开发学习路线图
- 安卓广播学习整理
- 黑马程序员JAVA笔记1--java基础和概述
- Android学习笔记之Activity
- android学习二:适配器Adapter的使用
- 黑马程序员--类型转换问题
- Android 数据传递方式
- Android官方教程中文版
- Android 界面心得
- 自己写的一个Android小程序
- setOnClickListener()与报错OnClickListener()原因
- Android开发之adb命令
- Android学习笔记(四)——ListView
- android学习笔记