"Illegal Access" 在 $cordovaGeolocation.getCurrentPosition

"Illegal Access" on $cordovaGeolocation.getCurrentPosition

使用 cordova-plugin-geolocation 我在 Android 上收到此错误:

PositionError {code: 1, message: "Illegal Access"}

我检查了 plugins/android.json 文件并且存在权限

{
  "xml": "<uses-permission android:name=\"android.permission.ACCESS_COARSE_LOCATION\" />",
  "count": 1
},
{
  "xml": "<uses-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\" />",
  "count": 1
 }

不知怎么的,只是通过

就解决了
cordova plugin rm cordova-plugin-geolocation

cordova plugin add cordova-plugin-geolocation

我在使用 Ionic 2 项目时遇到了同样的错误。

我通过手动将下面的代码添加到 plugins/android.json 文件来修复它:

{
    "xml": "<feature name=\"Geolocation\"><param name=\"android-package\" value=\"org.apache.cordova.geolocation.Geolocation\" /></feature>",
    "count": 1
}

也许这会对某人有所帮助。

删除并重新安装地理定位插件并没有解决我的问题。我不得不从 cordova 中删除并重新安装整个 android 平台。

cordova platform rm android
cordova platform add android