【问题标题】:Allow mock Locations #Android允许模拟位置#Android
【发布时间】:2014-06-02 20:23:31
【问题描述】:
我一直在尝试使用 Android 设备上的开发者选项下提供的此功能。我是一名测试人员,所以试图在 android 设备上伪造一个位置。我已经在 android manifest 权限下授予了权限 ACCESS_MOCK_LOCATION 。不知道我应该在我的代码中将我的假经度和纬度放在什么地方和什么地方。有人试过吗?我是代码新手和测试人员,所以不知道我应该为假的 long 和 lat 编写什么代码,以及我应该把它放在哪里。我有我的测试应用程序的源代码,它是一个在主屏幕上带有地图的健康应用程序。
【问题讨论】:
标签:
java
android
eclipse
testing
gps
【解决方案1】:
实例化您的LocationClient 后,您可以调用locationclient.setMockMode(true);
之后你可以让你的代码像这样生成Location对象
public Location createLocation(double lat, double lng, float accuracy) {
// Create a new Location
Location newLocation = new Location(PROVIDER);
newLocation.setLatitude(lat);
newLocation.setLongitude(lng);
newLocation.setAccuracy(accuracy);
return newLocation;
}
之后你可以做类似的事情
Location testLocation = createLocation(12.34, 45.679, 9.0f);
和
locationClient.setMockLocation(testLocation);
(取自here)
This 博客描述了如何在调试时使用模拟位置以及在不调试时关闭它们。