public class MainActivity extends Activity {
private LocationManager locationManager;
private TextView tv;
private StringBuilder builder = new StringBuilder("位置信息:\n");
private LocationListener ll;
public void getLocation(){
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
String provider = LocationManager.GPS_PROVIDER;
Location location = locationManager
.getLastKnownLocation(provider);
updateMsg(location);
ll = new LocationListener(){
public void onLocationChanged(Location location) {
updateMsg(location);
}
public void onProviderDisabled(String provider) {
}
public void onProviderEnabled(String provider) {
}
public void onStatusChanged(String provider, int status,
Bundle extras) {
}
};
locationManager.requestLocationUpdates(provider, 2000, 10,
ll);
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tv = (TextView) findViewById(R.id.mTextView);
Button mLocation = (Button)findViewById(R.id.mLocation);
mLocation.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
getLocation();
}
});
}
private void updateMsg(Location l) {
if (l != null) {
double lat = l.getLatitude();
double lng = l.getLongitude();
builder.append("(");
builder.append(lat);
builder.append(",");
builder.append(lng);
builder.append(")");
if(l.hasAccuracy()){
builder.append("\n精度:");
builder.append(l.getAccuracy());
}
if(l.hasAltitude()){
builder.append("\n高度:");
builder.append(l.getAltitude());
}
if(l.hasBearing()){
builder.append("\n方向:");
builder.append(l.getBearing());
}
if(l.hasSpeed()){
builder.append("\n速度:");
builder.append(l.getSpeed());
}
builder.append("\n");
} else {
builder.append("没有位置信息");
}
tv.setText(builder);
}
public void onResume() {
if(locationManager != null) {
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 1, ll);
}
super.onResume();
}
public void onPause() {
if(locationManager != null) {
locationManager.removeUpdates(ll);
}
super.onPause();
}
}
最近做了一个Gps定位的系统项目,不过研究几天还是没有进展。到最后项目经理告诉我解决方法,和大家分享一下。
分享到:
相关推荐
【Android】代码开启/关闭GPSDemo 相关文章:http://blog.csdn.net/etzmico/article/details/7200470 为了方便看效果,您可以在在onCreate中添加finish();方法,然后打开系统GPS设置页面再运行代码,这样就能看到...
Android GPS 架构之 GPS 的开启与关闭 Android GPS 架构中的 GPS 开启与关闭是指在 Android 系统中如何启动和关闭 GPS 设备的过程。本文将详细介绍 GPS 的开启与关闭的代码实现、系统启动过程、数据库写入过程等...
- GPS接收器:这部分代码负责与Android系统进行交互,启动和关闭GPS服务,以及注册监听器来获取GPS数据。 - 卫星追踪:这部分处理卫星的搜索和跟踪,包括解析NMEA报文,提取卫星信息,并计算定位参数。 - 用户...
对于GPS驱动,HAL需要定义一套标准的API供系统服务和应用调用,如开启/关闭GPS、获取位置信息等。 2. **Linux内核驱动**:由于Android基于Linux内核,GPS驱动通常作为内核模块编写。开发者需要熟悉C语言,以及Linux...
然而,需要注意的是,GPS的使用可能会增加设备的电池消耗,因此在不使用时应关闭GPS服务以节省电量。此外,由于GPS依赖于开放的天空视线,所以在室内或高楼密集区域,GPS信号可能会受到影响,导致定位精度下降。
源码中可能有策略来优化GPS的功耗,例如在不需要定位时关闭GPS模块。 9. **性能优化**:在资源有限的设备上,优化GPS代码以减少CPU占用和内存使用,提高响应速度,也是开发中需要考虑的一环。 10. **测试与调试**...
在电池供电的设备中,STM32可以通过控制GPIO来开启或关闭GPS模块,实现节能。同时,GPS模块通常有省电模式,比如PWR_ON和PWR_OFF状态,可以根据应用需求调整。 5. **定位精度优化** 为了提高定位精度,可以使用...
5. **启动/关闭GPS**:用户可以通过应用启动或关闭GPS服务。 6. **GPS状态检查**:检测GPS是否已开启并可用。 为了测试和优化GPS性能,开发者可以: 1. **模拟测试**:使用Android Studio的AVD Manager创建模拟器,...
1. 初始化和关闭GPS设备。 2. 设置和获取GPS参数,如定位模式(2D/3D)、定位频率等。 3. 获取GPS定位数据,包括纬度、经度、高度、速度、时间戳等信息。 4. 监听GPS状态变化,如信号强度、定位质量等。 在压缩包...
例如,`AT+CGPS=1` 开启GPS,`AT+CGPS=0` 关闭GPS。 2. **AT+CGNSPWR=**:设置GPS电源管理。可以设置为0(关闭)或1(开启),以节省电池。 3. **AT+CGNSINF**:查询GPS状态,包括是否锁定卫星、卫星数量、经纬度...
1. **初始化GPS服务**:框架会处理开启和关闭GPS服务的逻辑,确保在需要时能正确启动GPS接收器。 2. **请求权限**:在Android系统中,访问GPS需要用户授权。框架可能包含处理权限请求的代码,使应用能够按照最新的...
7. **日志和调试选项**:配置文件可能包含开启或关闭GPS日志的设置,这对于故障排查和性能优化至关重要。 在实际应用中,将`gps.conf`文件正确地部署到设备上,通常需要对系统进行适当的权限设置,确保该文件能够被...
合理设置权限请求,明确告知用户何时何地使用GPS,提供关闭GPS服务的选项。 五、性能优化 考虑到移动设备电池续航和处理能力,优化GPS应用程序的性能至关重要。例如,限制不必要的GPS更新频率,使用低功耗模式,...
在Android平台上,GPS轨迹记录器通常允许用户开启或关闭GPS服务,设置记录间隔,保存轨迹点,并可能提供地图视图来显示行进路线。 GPS技术的核心是通过接收卫星信号来确定地理位置。在Android设备上,GPS轨迹记录器...
- GPS在移动设备上的使用可能会消耗大量电池,因此在实现时应考虑节能策略,如在不需要定位时关闭GPS。 - GPS信号可能受到建筑物、天气等因素影响,有时可能无法获取准确位置,需要有适当的错误处理机制。 6. **...
对于需要利用其内置GPS功能的用户来说,掌握如何正确开启或关闭GPS功能是非常重要的。本文将详细讲解通过不同工具实现这一操作的具体步骤。 #### 二、使用Putty开启与关闭GPS **第一步:安装Putty** 确保您已经...
同时,持续使用GPS会增加电池消耗,因此在不需要的时候记得关闭GPS服务,以延长手机的续航时间。 总的来说,“FreeGPS”作为一款轻量级的手机GPS软件,凭借其直观易用的界面和全面的GPS信息查看功能,为用户提供了...
4. **设置和控制**:HAL提供了设置GPS参数的接口,例如开启/关闭GPS,设置定位精度、更新频率等。 5. **电源管理**:驱动还需要处理电源管理,确保在不需要定位服务时,能有效降低功耗。 在源码层面,Android GPS...