错误尝试调用虚拟方法'android.location.Location
error Attempt to invoke virtual method 'android.location.Location
我正在使用 MobileFirst 提供的 WL.Device.Geo.acquirePosition(onGeoLocationSuccess, onGeoLocationFailure, options) 检索设备的位置。
第一次很好用。我得到了位置,一切正常。
但是,在应用程序中的某个时刻,我清除了 localStorage。当我这样做时,应用程序变得疯狂,我不断在控制台中收到此错误:
getPosition - error Attempt to invoke virtual method 'android.location.Location com.worklight.androidgap.plugin.WLGPSListener.getLastKnownLocation()' on a null object reference
我的代码是这样的:
position();
function position() {
var options = {
enableHighAccuracy : false,
timeout : 20000,
maximumAge : 30000,
highAccuracyOptions: {
desiredAccuracy: 50, //meters
iOSBestAccuracy: WL.Device.Geo.IOS_BEST_ACCURACY
}
};
WL.Device.Geo.acquirePosition(onGeoLocationSuccess, onGeoLocationFailure, options);
}
function onGeoLocationSuccess(position) {
WL.Logger.info('Got position now ;)');
}
function onGeoLocationFailure(errorObj) {
console.log('Trying again ');
position();
}
这就是我在另一个服务中重置 localStorage 的方式
localStorage.clear();
有什么建议吗?
localStorage的Check for the contents;由于您正在强制清除整个存储,我怀疑您正在清除应用程序运行时所需的数据。
只清除你需要清除的,而不是全部。
我正在使用 MobileFirst 提供的 WL.Device.Geo.acquirePosition(onGeoLocationSuccess, onGeoLocationFailure, options) 检索设备的位置。
第一次很好用。我得到了位置,一切正常。
但是,在应用程序中的某个时刻,我清除了 localStorage。当我这样做时,应用程序变得疯狂,我不断在控制台中收到此错误:
getPosition - error Attempt to invoke virtual method 'android.location.Location com.worklight.androidgap.plugin.WLGPSListener.getLastKnownLocation()' on a null object reference
我的代码是这样的:
position();
function position() {
var options = {
enableHighAccuracy : false,
timeout : 20000,
maximumAge : 30000,
highAccuracyOptions: {
desiredAccuracy: 50, //meters
iOSBestAccuracy: WL.Device.Geo.IOS_BEST_ACCURACY
}
};
WL.Device.Geo.acquirePosition(onGeoLocationSuccess, onGeoLocationFailure, options);
}
function onGeoLocationSuccess(position) {
WL.Logger.info('Got position now ;)');
}
function onGeoLocationFailure(errorObj) {
console.log('Trying again ');
position();
}
这就是我在另一个服务中重置 localStorage 的方式
localStorage.clear();
有什么建议吗?
Check for the contents;由于您正在强制清除整个存储,我怀疑您正在清除应用程序运行时所需的数据。
只清除你需要清除的,而不是全部。