PhoneGap上的HTML5 getCurrentPosition进入错误处理程序,出现奇怪的空错误,仅适用于Android

PhoneGap上的HTML5 getCurrentPosition进入错误处理程序,出现奇怪的空错误,仅适用于Android,android,html,cordova,Android,Html,Cordova,我有一个PhoneGap应用程序,它可以立即将window.location设置为我的internet站点,并从那里继续工作。除了以下非常奇怪的行为外,该应用程序运行良好 我正在通过拨打以下电话获取地理位置: function geoErrorHandler(error) { console.log("getCurrentPosition failed with error message: " + error.message); } function showPosition(posi

我有一个PhoneGap应用程序,它可以立即将window.location设置为我的internet站点,并从那里继续工作。除了以下非常奇怪的行为外,该应用程序运行良好

我正在通过拨打以下电话获取地理位置:

function geoErrorHandler(error) {
    console.log("getCurrentPosition failed with error message: " + error.message);
}
function showPosition(position) {
// blah
}

var options = {maximumAge:60000, timeout:5000, enableHighAccuracy:true};
navigator.geolocation.getCurrentPosition(showPosition, geoErrorHander, options);
在iOS上,它在我的PhoneGap应用程序中运行良好。当页面刚刚加载到桌面浏览器中时,它也可以正常工作。然而,在我的Android PhoneGap应用程序上,它调用了我的geoErrorHandler。这很好,我肯定能找到问题所在!除非它调用它时出现错误,该错误包含error.message=“”和error.code=null。嗯


它是在两个不同的设备上进行的,大量的互联网搜索似乎没有发现任何其他人有这种行为。我做错了什么

可能是权限问题

尝试向清单中添加访问\u粗略\u位置、访问\u位置\u额外\u命令和访问\u精细\u位置权限

<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" />


感谢您的关注-PhoneGap Build管理清单-一旦我将其添加到config.xml中,它就会将权限ACCESS\u Rough\u位置和ACCESS\u FINE\u位置添加到其生成的清单中。它没有添加ACCESS\u LOCATION\u EXTRA\u命令,但是(考虑到似乎没有其他人有这个确切的问题),我不确定这是否会成为问题的根源:(在调用此之前,您是否正在等待
deviceready
事件触发?是的,是的。我已将代码减少了一点。@ChrisR能否尝试相同的
geolocation()
功能,无需切换
窗口。位置
到您的internet站点?。只是为了排除切换到您的internet站点不会导致问题。对于对此感兴趣的人…我从头开始创建了一个新项目,似乎不再发生。因此,不知何故,我认为可能是Cordova wa的错误版本这是装子弹还是什么奇怪的东西。