在 android 上,您有多种选择可以为您的应用程序提供模拟位置:通过 DDMS、telnet 或 LocationManager:
数据管理系统
从 AndroidSDK/tools/ 文件夹启动 DDMS。选择要为其欺骗位置的设备,然后转到Emulator Control
。在选项卡的底部,您应该找到手动设置位置的选项,以及要欺骗的位置。
亚行/Telnet
通过 列出您的所有设备adb devices
。从这里你应该得到这样的输出:
List of devices attached
emulator-5554 device
然后 telnet 到指定的端口:
telnet localhost 5554
这应该会打开 android 控制台。在那里你可以使用geo fix
命令来设置位置
geo fix $lon $lat
位置提供者
您可以使用以下setTestProviderLocation
方法提供测试位置LocationProvider
LocationManager lm = (LocationManager)this.getContext().getSystemService(Context.LOCATION_SERVICE);
String mocLocationProvider = "Test";
locationManager.addTestProvider(mocLocationProvider, false, false,
false, false, true, true, true, 0, 5);
locationManager.setTestProviderEnabled(mocLocationProvider, true);
Location mockLocation = new Location(mocLocationProvider);
mockLocation.setLatitude(location.getLatitude());
mockLocation.setLongitude(location.getLongitude());
mockLocation.setAltitude(location.getAltitude());
mockLocation.setTime(System.currentTimeMillis());
locationManager.setTestProviderLocation( mocLocationProvider, mockLocation);
我从这里得到的这个方法
另外,不要忘记设置权限
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION">