今天整了一天GPS问题,崩溃啊!!后来还好找到了一个解说详细的博文,一下豁然开朗。
原文地址:http://justsee.iteye.com/blog/657337
关于GPS值的获取,主要是使用到LocationManager,用法如下:
LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000, 0, locationListener);
注:getSystemService是Activity的一个方法。Location更新的设置是每隔1000ms更新一次,并且不考虑位置的变化。最后一个参数是LocationListener的一个引用,这个类需要实现:
private final LocationListener locationListener = new LocationListener() {
public void onLocationChanged(Location location) {
//如果需要去到GPS启动后取到的Location,必须用这个!
}
public void onProviderDisabled(String provider) {
// Provider被disable时触发此函数,比如GPS被关闭
}
public void onProviderEnabled(String provider) {
// Provider被enable时触发此函数,比如GPS被打开
}
public void onStatusChanged(String provider, int status, Bundle extras) {
// Provider的转态在可用、暂时不可用和无服务三个状态直接切换时触发此函数
}
};
完成这些设定后,获取GPS的方法:
Location location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
double latitude = location.getLatitude(); //经度
double longitude = location.getLongitude(); //纬度
double altitude = location.getAltitude(); //海拔
注:这里取到的GPS值是目前存储在GPS上的Location值,如果刚刚打开GPS就用这个方法取Location取到的会是上一次代开GPS时取到的旧值。等待GPS取得新值需要用LocationListener里的 onLocationChanged。
在运行程序前,还需要修改AndroidManifest.xml文件,在application中加入:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"/>
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION"/>
<uses-permission android:name="android.permission.CONTROL_LOCATION_UPDATES"/>
停止GPS运行:
locationManager.removeUpdates(locationListener)
检测GPS是否已经启动:
locationManagemer.isProviderEnabled(android.location.LocationManager.GPS_PROVIDER);
Toast.makeText(this, "Please open GPS!", Toast.LENGTH_SHORT).show();
分享到:
相关推荐
Android GPS 定位的实现 Android GPS 定位是 Android 平台中的一种常见的定位服务,通过使用 Google 地图实现 GPS 定位服务。下面是 Android GPS 定位的实现知识点: 一、添加权限 要使用 Android 平台的 GPS ...
-- GPS定位必须的权限 --> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> **1.获取位置管理器对象LocationManager** ``` import android.location.LocationManager; ...
本章重点介绍了如何在Android平台上实现GPS定位以及如何利用谷歌地图进行地图显示和操作。 位置服务,也称为Location-Based Services(LBS),结合了GPS、移动通信、网络定位等多种技术,为用户提供与位置相关的...
本资源提供了Android GPS定位的实例源码,对于学习和理解如何在Android应用中集成GPS定位至关重要。通过分析这些源码,我们可以深入探讨Android GPS定位的相关知识点。 1. **AndroidManifest.xml配置** 在Android...
在Android开发中,GPS定位是一项基础且重要的功能,它允许应用程序获取用户的位置信息,从而实现各种基于位置的服务,如导航、地图应用、社交网络签到等。本资源提供了一个实现Android GPS定位的源码示例,并附带了...
这个"Android GPS定位源码"提供了一种实现方式,帮助开发者能够获取到经纬度信息,从而实现各种基于位置的服务,如导航、地图应用、地理围栏等。 在Android中,定位服务主要依赖于LocationManager和Location...
android GPS定位完美版
本资源"Android GPS定位源代码"提供了一个实现这一功能的实例,结合教程视频,为开发者提供了一个学习和实践GPS定位技术的平台。 1. **AndroidManifest.xml配置** 在Android应用中使用GPS,首先需要在`...
本文将深入探讨Android GPS定位测试的相关知识点,包括API的使用、权限管理、定位服务的开启与关闭、定位精度的优化以及测试策略。 首先,Android提供了一系列的API接口来处理GPS定位,主要在`android.location`包...
这个"Android GPS定位例子"是一个实现GPS定位功能的示例项目,它已经被测试并确认能够正常运行,尽管GPS定位通常需要一定时间来获取精确的位置信息。 Android系统提供了一套完整的API,即Location API,用于获取...
本文将深入探讨Android中的GPS定位机制、API的使用以及相关的编程实践。 1. **Android GPS定位机制** Android系统通过集成GPS硬件模块与网络定位服务(如Wi-Fi和移动网络)来实现定位功能。GPS模块接收来自卫星的...
在开发Android应用时,有时我们需要实现GPS定位功能,Delphi XE7作为一个强大的跨平台开发工具,可以帮助我们轻松实现这一需求。本示例是关于如何在Delphi XE7环境下,利用百度地图API来实现Android设备上的GPS定位...
在Android平台上,GPS定位是移动应用开发中一个重要的功能,它允许用户获取设备的精确地理位置信息,例如经纬度坐标。以下是一些关于Android GPS定位的关键知识点: 1. **权限设置**: 在Android中,使用GPS定位...
本文将深入探讨Android GPS定位系统的源码,分析其工作原理,并提供一些关键知识点,帮助开发者理解和实现自己的定位功能。 1. **Android位置服务框架** Android提供了位置服务框架,该框架为应用程序提供了统一的...
Android Studio 项目,集成了Android GPS定位。 在项目中也集成了高德SDK的定位效果。 项目的中key可以在高德开放平台上自行申请。
本文将深入探讨Android GPS定位机制,包括基本概念、API使用、权限管理以及优化策略。 首先,理解GPS的基本原理至关重要。GPS是通过接收多个卫星信号来计算设备的经纬度坐标。在Android中,定位服务主要依赖于`...