使用jQuery $的Android PhoneGap应用程序不能始终如一地工作

时间:2013-10-30 18:09:21

标签: android jquery cordova

长话短说我的应用是设置一个间隔,每隔20秒获取当前位置

var options = {
    enableHighAccuracy: true
};
gpsStatus = 0;
timmer = window.setInterval(function () {
    navigator.geolocation.getCurrentPosition(onSuccess, onError, options);
}, 20000);

成功时,它调用此函数,使用$ get

将位置上传到php页面
function onSuccess(position) {
    setResults(position.coords.latitude + '/' + position.coords.longitude + ' ' + new Date(position.timestamp).toLocaleTimeString().split(" ")[0]);
    $.get("http://www.mysite.com/geolog.php", { status: "READY", team: myTeam, location: position.coords.latitude + "," + position.coords.longitude })
    .done(function (data) {
        setResults("Data Pushed");
    });
};

地理位置正在发挥作用,但只能在某些设备上使用...

我的AndroidManifest.xml中有以下内容

<uses-permission android:name="android.permission.INTERNET" />
<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" />

以及我的config.xml中的以下内容

<feature name="http://api.phonegap.com/1.0/device" />
<feature name="http://api.phonegap.com/1.0/geolocation" />
<feature name="http://api.phonegap.com/1.0/network"/>

我还尝试添加指向谷歌的iframe,只是为了检查它是否是网络问题而且它也无法正常工作,我不知道它们是否相关。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:1)

我认为你错过了将你的白名单列入白名单:

http://docs.phonegap.com/en/3.1.0/guide_appdev_whitelist_index.md.html#Whitelist%20Guide