我正在研究HTC Legend,并尝试构建自己的gps日志应用程序。除了事实之外,一切都按预期工作,我在每个赛道都有30分钟的差距。
这个我没有获得gps数据的差距总是在30到60分钟左右 - 所以在30分钟的活动之后,我没有30分钟的gps数据。没有做任何事情(甚至没有重新启动应用程序),它会在30分钟休息后再次开始收集数据。
有没有人对此有解释?这让我发疯了......
忘记提及我使用直接的requestLocationUpdates收集数据,但这里没有问题......
编辑:请求的代码示例:
private LocationListener ll = new LocationListener(){
@Override
public void onLocationChanged(Location loc) {
}
@Override
public void onProviderDisabled(String arg0) {
}
@Override
public void onProviderEnabled(String arg0) {
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
}
};
这是相应的NMEA听众,因为我将处理原始GPS数据:
GpsStatus.NmeaListener nl = new GpsStatus.NmeaListener() {
@Override
public void onNmeaReceived(long timestamp, String nmea) {
/*
* Use patcher and matcher to find a proper GPRMC sentence and remove symbols at the end like \n, # etc.
*/
m = p.matcher(nmea);
Log.d(LocationLoggerApp.TAG, "Time for a break...");
//Notify activity that app is ready for upload
broadcastIntent.putExtra("LOG", "Got valid GPRMC sentence");
sendBroadcast(broadcastIntent);
}
};
这里我们有来自onStart函数的行,其中上面的东西被“加载”:
/*
* Request location updates as workaround because the function addNmeaListner DOES NOT enable GPS on the phone!
*/
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, interval*1000, 0, ll);
lm.addNmeaListener(nl);
此致 马丁
答案 0 :(得分:0)
是否有任何代码样本的机会?我的第一个建议是检查你是否正确设置了minTime和minDistance参数。
public void requestLocationUpdates (long minTime, float minDistance, Criteria criteria, PendingIntent intent)