使用GPS获取定位信息

本文介绍了一个简单的Android应用示例,该应用用于获取设备的GPS定位信息,并实时更新显示经纬度坐标。通过监听位置变化并调整更新频率,实现对用户地理位置的跟踪。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

所需权限:<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />


import android.app.Activity;
import android.content.Context;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.widget.TextView;
/**
 * 
 * @author Administrator 获取定位信息
 */

public class LocationDemoActivity extends Activity {

	private TextView tv;
	//位置管理服务
	private LocationManager locManager;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);

		setContentView(R.layout.locationdemo);

		tv = (TextView) findViewById(R.id.tv);
		
		//拿到位置管理服务
		locManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);

		//从GPS获取最近的定位信息
		Location location = locManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
		
		updateView(location);
		
		//5000:每隔5s获取一次GPS位置信息
		locManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 5000, 8, new LocationListener() {

			@Override
			public void onStatusChanged(String provider, int status, Bundle extras) {

			}

			@Override
			public void onProviderEnabled(String provider) {
				//当GPS可用时,更新位置
				updateView(locManager.getLastKnownLocation(provider));
			}

			@Override
			public void onProviderDisabled(String provider) {
				//当GPS不可用时
				updateView(null);
			}

			@Override
			public void onLocationChanged(Location location) {
				//当GPS定位信息改变时,更新位置
				updateView(location);
			}
		});
	}

	private void updateView(Location location) {

		if (location != null) {
			
			StringBuilder sb = new StringBuilder();
			sb.append("经度:" + location.getLongitude());
			sb.append("\n纬度:" + location.getLatitude());
			tv.setText(sb.toString());
			
		} else {
			
			tv.setText("GPS 不可用,请打开GPS");
			
		}
	}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值