PhoneGap上的HTML5 getCurrentPosition转到错误处理程序时出现奇怪的空错误,仅限Android

时间:2014-11-19 22:57:44

标签: android html5 cordova

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

我试图通过调用来获取地理位置:

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.code = null。 Hrhum。

它在两个独立的设备上执行此操作,并且相当多的互联网搜索似乎并未向其他人透露此行为。我做错了什么?!

1 个答案:

答案 0 :(得分:0)

也许是权限问题?

尝试添加到您的清单ACCESS_COARSE_LOCATION,ACCESS_LOCATION_EXTRA_COMMANDS和ACCESS_FINE_LOCATION权限

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

http://developer.android.com/reference/android/Manifest.permission.html