Ionic with Android Emulator:自动发送位置?

Ale*_*ios 11 android geolocation android-emulator google-geolocation ionic-framework

我的android模拟器有问题.当我关闭并重新打开我的应用时,该位置不会自动发送.我必须进入扩展控件 - >位置,然后单击Ionic Geolocation getCurrentPosition函数的"发送"按钮来接收它.

当我启动Android模拟器并且第一次打开应用程序时,这不是必需的.知道如何自动发送位置无论如何?

Web*_*ter 3

一般来说,对于插件的测试,我们需要在真实设备中进行验证,但作为您关于在模拟器中使用它的原始问题,为了解决这个问题,

  1. 尝试清除cordova缓存(如果您使用的是Visual Studio,您可以像 “工具”->“选项”那样执行此操作 )

  2. 尝试添加 watchPosition 函数enableHighAccuracy : true

navigator.geolocation.watchPosition(onSuccess, onError, { 
    timeout:40000,
    enableHighAccuracy: true 
});
Run Code Online (Sandbox Code Playgroud)

更新 :

经过快速谷歌搜索后,找到了这个链接,它指出:

从 Chrome 50 开始,Chrome 不再支持使用 HTML5 Geolocation API 从非安全连接提供的页面获取用户位置。这意味着进行 Geolocation 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" />
Run Code Online (Sandbox Code Playgroud)

欲了解更多信息,请阅读这篇文章和这个主题