首先,需要在 AndroidManifest.xml 文件中添加以下权限:
然后,在你的 Activity 中,你可以使用 LocationManager 和 LocationListener 来获取用户的位置。以下是一个简单的示例:
public class MainActivity extends AppCompatActivity implements LocationListener {
private LocationManager locationManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED &&
ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION},
100);
return;
}
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, this);
}
@Override
public void onLocationChanged(@NonNull Location location) {
//在这里获取用户的位置
double latitude = location.getLatitude();
double longitude = location.getLongitude();
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {}
@Override
public void onProviderEnabled(String provider) {}
@Override
public void onProviderDisabled(String provider) {}
}
在上面的代码中,我们检查了用户是否已授予权限,如果没有,我们发出了一个权限请求。在权限被授予后,我们使用 LocationManager.requestLocationUpdates() 方法请求位置更新,并在 onLocationChanged() 方法中获取用户的当前位置。
注意:为了获取用户的位置,你需要将设备连接到互联网或启用 GPS。