$cordovaGeolocation.getCurrentPosition 上的“非法访问”

Posted

技术标签:

【中文标题】$cordovaGeolocation.getCurrentPosition 上的“非法访问”【英文标题】:"Illegal Access" on $cordovaGeolocation.getCurrentPosition 【发布时间】:2016-04-13 08:39:54 【问题描述】:

使用 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
 

【问题讨论】:

你是在 Android 6.0 上测试这个吗? 在 5 和 6、真实设备和模拟器上测试。 如果Android 6.0出现这个问题,那一定是因为Android M中引入了动态权限框架,不知道cordova是怎么处理的。 【参考方案1】:

不知何故,它只是通过做来解决

cordova plugin rm cordova-plugin-geolocation

cordova plugin add cordova-plugin-geolocation

【讨论】:

【参考方案2】:

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

cordova platform rm android
cordova platform add android

【讨论】:

【参考方案3】:

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

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


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

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

【讨论】:

以上是关于$cordovaGeolocation.getCurrentPosition 上的“非法访问”的主要内容,如果未能解决你的问题,请参考以下文章