我的android模拟器出了问题。当我关闭并重新打开我的应用时,该位置不会自动发送。我必须进入扩展控件 - >单击位置并单击Ionic Geolocation getCurrentPosition函数的“发送”按钮以接收它。
当我启动Android模拟器并且第一次打开应用程序时,这不是必需的。不知道如何自动发送位置?
答案 0 :(得分:3)
通常,对于插件的测试,我们需要在真实设备中进行验证,但作为您在模拟器中使用它的原始问题,为此可以解决这个问题,
尝试清除cordova Cache(如果您使用的是Visual Studio,则可以像工具 - >选项那样)
尝试使用enableHighAccuracy : true
navigator.geolocation.watchPosition(onSuccess, onError, { timeout:40000, enableHighAccuracy: true });
更新:
经过快速谷歌搜索后,找到了this链接,它说明了:
从Chrome 50开始,Chrome不再支持获取 用户在交付页面中使用HTML5 Geolocation API的位置 通过非安全连接。这意味着正在制作的页面 地理位置API调用必须从安全上下文中提供,例如 HTTPS。
可能的解决方案可能是:
在Android平台上添加适当的权限,打开您的项目,搜索AndroidManifest.xml
并添加以下行:
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />