显然有两种方法可以在 Android 中设置模拟位置(目前正在使用 Android 11)
使用 FusedLocationProviderClient 的一种方法:
mFusedLocationClient = LocationServices.getFusedLocationProviderClient(this);
mFusedLocationClient.setMockMode(true);
mFusedLocationClient.setMockLocation(createLocation(LAT, LNG, ACCURACY));
另一个使用 LocationManager:
LocationManager lm = (LocationManager) ctx.getSystemService(
Context.LOCATION_SERVICE);
lm.addTestProvider(providerName, false, false, false, false, false,
true, true, 1, 1);
lm.setTestProviderEnabled(providerName, true);
Location mockLocation = createLocation(LAT, LNG, ACCURACY);
lm.setTestProviderLocation(providerName, mockLocation);
想知道什么是正确的方法。对我来说,第二个工作正常,第一个没有(仍在调查)但我想知道正确的方法是什么?还想知道为什么有两种不同的方式?