我一直在尝试使用模拟位置来测试我的应用,但模拟位置似乎没有被使用。
我在LocationClient上启用了模拟模式,包括权限'android.permission.ACCESS_MOCK_LOCATION'并使用以下代码设置模拟位置:
if(!lonTxt.getText().toString().isEmpty() && !latTxt.getText().toString().isEmpty())
{
Location mockLoc = new Location("MOCK");
mockLoc.setLongitude(Double.parseDouble(lonTxt.getText().toString()));
mockLoc.setLatitude(Double.parseDouble(latTxt.getText().toString()));
mockLoc.setAccuracy(5.0f);
mockLoc.setAltitude(0);
mockLoc.setBearing(0);
mockLoc.setSpeed(0);
mockLoc.setTime(new Date().getTime());
mLocationClient.setMockLocation(mockLoc);
lonTxt.getText().clear();
latTxt.getText().clear();
}
然而onLocationChanged()永远不会被调用。我已经设置了每秒的位置请求,高精度。此外,getLastLocation()每次都返回null。模拟器位置也在开发人员选项中启用。我错过了一些明显的东西吗对此的任何帮助将不胜感激。
我的目标是Android 4.4.2,在Nexus 5上运行。提前感谢。