`

关闭GPS

 
阅读更多
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】代码开启/关闭GPS

    【Android】代码开启/关闭GPSDemo 相关文章:http://blog.csdn.net/etzmico/article/details/7200470 为了方便看效果,您可以在在onCreate中添加finish();方法,然后打开系统GPS设置页面再运行代码,这样就能看到...

    android GPS架构之GPS的开启与关闭

    Android GPS 架构之 GPS 的开启与关闭 Android GPS 架构中的 GPS 开启与关闭是指在 Android 系统中如何启动和关闭 GPS 设备的过程。本文将详细介绍 GPS 的开启与关闭的代码实现、系统启动过程、数据库写入过程等...

    GPSTEST android gpstest source code

    - GPS接收器:这部分代码负责与Android系统进行交互,启动和关闭GPS服务,以及注册监听器来获取GPS数据。 - 卫星追踪:这部分处理卫星的搜索和跟踪,包括解析NMEA报文,提取卫星信息,并计算定位参数。 - 用户...

    ZSouth 1011 GPS模块驱动

    对于GPS驱动,HAL需要定义一套标准的API供系统服务和应用调用,如开启/关闭GPS、获取位置信息等。 2. **Linux内核驱动**:由于Android基于Linux内核,GPS驱动通常作为内核模块编写。开发者需要熟悉C语言,以及Linux...

    Gps.rar_GPS_GPS数据_gps windows mobile_获取GPS

    然而,需要注意的是,GPS的使用可能会增加设备的电池消耗,因此在不使用时应关闭GPS服务以节省电量。此外,由于GPS依赖于开放的天空视线,所以在室内或高楼密集区域,GPS信号可能会受到影响,导致定位精度下降。

    GPS.rar_GPS_gps kaifa_gps 开发_gps 源码

    源码中可能有策略来优化GPS的功耗,例如在不需要定位时关闭GPS模块。 9. **性能优化**:在资源有限的设备上,优化GPS代码以减少CPU占用和内存使用,提高响应速度,也是开发中需要考虑的一环。 10. **测试与调试**...

    STM32中GPS模块

    在电池供电的设备中,STM32可以通过控制GPIO来开启或关闭GPS模块,实现节能。同时,GPS模块通常有省电模式,比如PWR_ON和PWR_OFF状态,可以根据应用需求调整。 5. **定位精度优化** 为了提高定位精度,可以使用...

    android 测试GPS搜星程序及源代码

    5. **启动/关闭GPS**:用户可以通过应用启动或关闭GPS服务。 6. **GPS状态检查**:检测GPS是否已开启并可用。 为了测试和优化GPS性能,开发者可以: 1. **模拟测试**:使用Android Studio的AVD Manager创建模拟器,...

    GPS测试(通过GPSID)

    1. 初始化和关闭GPS设备。 2. 设置和获取GPS参数,如定位模式(2D/3D)、定位频率等。 3. 获取GPS定位数据,包括纬度、经度、高度、速度、时间戳等信息。 4. 监听GPS状态变化,如信号强度、定位质量等。 在压缩包...

    移远远EC20通讯模块 定位AT指令

    例如,`AT+CGPS=1` 开启GPS,`AT+CGPS=0` 关闭GPS。 2. **AT+CGNSPWR=**:设置GPS电源管理。可以设置为0(关闭)或1(开启),以节省电池。 3. **AT+CGNSINF**:查询GPS状态,包括是否锁定卫星、卫星数量、经纬度...

    Android GPS读取框架

    1. **初始化GPS服务**:框架会处理开启和关闭GPS服务的逻辑,确保在需要时能正确启动GPS接收器。 2. **请求权限**:在Android系统中,访问GPS需要用户授权。框架可能包含处理权限请求的代码,使应用能够按照最新的...

    gps配置文件,绝对可用

    7. **日志和调试选项**:配置文件可能包含开启或关闭GPS日志的设置,这对于故障排查和性能优化至关重要。 在实际应用中,将`gps.conf`文件正确地部署到设备上,通常需要对系统进行适当的权限设置,确保该文件能够被...

    gps应用程序设计.rar

    合理设置权限请求,明确告知用户何时何地使用GPS,提供关闭GPS服务的选项。 五、性能优化 考虑到移动设备电池续航和处理能力,优化GPS应用程序的性能至关重要。例如,限制不必要的GPS更新频率,使用低功耗模式,...

    GPS轨迹记录器

    在Android平台上,GPS轨迹记录器通常允许用户开启或关闭GPS服务,设置记录间隔,保存轨迹点,并可能提供地图视图来显示行进路线。 GPS技术的核心是通过接收卫星信号来确定地理位置。在Android设备上,GPS轨迹记录器...

    j2me-gps.rar_JAVA GPS_gps j2me_gps 平台_j2me g_j2me gps

    - GPS在移动设备上的使用可能会消耗大量电池,因此在实现时应考虑节能策略,如在不需要定位时关闭GPS。 - GPS信号可能受到建筑物、天气等因素影响,有时可能无法获取准确位置,需要有适当的错误处理机制。 6. **...

    em770w开启gps方法

    对于需要利用其内置GPS功能的用户来说,掌握如何正确开启或关闭GPS功能是非常重要的。本文将详细讲解通过不同工具实现这一操作的具体步骤。 #### 二、使用Putty开启与关闭GPS **第一步:安装Putty** 确保您已经...

    GPS信息查看 FreeGPS

    同时,持续使用GPS会增加电池消耗,因此在不需要的时候记得关闭GPS服务,以延长手机的续航时间。 总的来说,“FreeGPS”作为一款轻量级的手机GPS软件,凭借其直观易用的界面和全面的GPS信息查看功能,为用户提供了...

    android GPS 驱动源码

    4. **设置和控制**:HAL提供了设置GPS参数的接口,例如开启/关闭GPS,设置定位精度、更新频率等。 5. **电源管理**:驱动还需要处理电源管理,确保在不需要定位服务时,能有效降低功耗。 在源码层面,Android GPS...

Global site tag (gtag.js) - Google Analytics