Android 的 GPS 位置信息存储在 `android.location.Location` 类中。它包含了经度、纬度、海拔、精度和时间等方面的信息。可以通过以下代码来获取当前位置信息:
```java
import android.content.Context;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
private LocationManager locationManager;
private LocationListener locationListener;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 获取位置管理器
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
// 定义位置
locationListener = new LocationListener() {
@Override
public void onLocationChanged(Location location) {
// 处理位置更新
double latitude = location.getLatitude(); // 获取纬度
double longitude = location.getLongitude(); // 获取经度
float accuracy = location.getAccuracy(); // 获取精度
double altitude = location.getAltitude(); // 获取海拔
long time = location.getTime(); // 获取时间
// 将位置信息展示在屏幕上
Toast.makeText(MainActivity.this, "纬度: " + latitude + ",经度: " + longitude + ",精度: " + accuracy + ",海拔: " + altitude + ",时间: " + time, Toast.LENGTH_SHORT).show();
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
// 处理位置状态变化
}
@Override
public void onProviderEnabled(String provider) {
// 处理位置提供者可用
}
@Override
public void onProviderDisabled(String provider) {
// 处理位置提供者不可用
}
};
// 请求位置更新
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener);
}
@Override
protected void onDestroy() {
super.onDestroy();
// 停止位置更新
locationManager.removeUpdates(locationListener);
}
}
```
需要在 AndroidManifest.xml 文件中添加权限:
```xml
```