我有一个项目,需要将位置设置为印度。但在我的模拟器中我没有得到位置。
当我从模拟器中获取谷歌地图时,它显示当前位置在海中央。
API level I am using is 27.
Emulator I use is Nexus 5x.
如何手动获取此模拟器中的当前位置。
我尝试在模拟器中编辑位置并尝试给出纬度和经度,但它不起作用。
您可以使用命令提示符或 ADB 设置位置
在AndroidManifest.xml中设置权限:
为您的 Android 模拟器找到正确的本地端口:
$ adb devices
List of devices attached
emulator-5554 device
我们正在寻找的端口在本例中是 5554。现在通过 telnet 连接:
$ telnet localhost 5554
Trying::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Android Console: type 'help' for a list of commands
手动设置您的首选位置:您可以使用地理修复命令设置位置:
geo fix $longitude $latitude
例如
geo fix 2.169919 41.387917
OK
另一种简单的方法
从 Android Studio 打开 Android 设备监视器。
选择模拟器。
选择模拟器控制
在模拟器控制中选择位置控制
选择手动
在此给出您的经度和纬度
就我而言;直到我在模拟器上登录我的Google帐户,位置没有改变。登录后就变了。我认为这与 Google 服务有关。
就我而言,解决方案是设置点并重新启动模拟器,然后登录 Google 帐户并直接在 Chrome 中检查我的位置。
我通过擦除模拟器的数据并重新启动它解决了这个问题。
Set permissions in AndroidManifest.xml:
$ adb devices
List of devices attached
emulator-5554 device
$ telnet localhost 5554
Trying::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Android Console: type 'help' for a list of commands
geo fix $longitude $latitude
geo fix 2.169919 41.387917
OK
Android Console: Authentication required
Android Console: type 'auth <auth_token>' to authenticate
Android Console: you can find your <auth_token> in
'C:\Users\Administrator\.emulator_console_auth_token' <--you will find your auth code here
OK
auth PsL*******QML <---pass auth with your authentication code then enter
Android Console: type 'help' for a list of commands
OK
geo fix your_desired_long your_desired_lat <--then this
OK
将 Android 位置管理器强制设置为 true。像这样“position =等待Geolocator.getCurrentPosition(desiredAccuracy:LocationAccuracy.low,forceAndroidLocationManager:true);”然后你将在模拟器上获得位置。