我想在我的应用程序中显示当前速度。在 Galaxy Nexus 上它工作正常,但 Galaxy S 只显示 0.0 我使用以下代码来获得速度。
location.getSpeed()
从我知道的文档中:
public float getSpeed () 自:API 级别 1 返回设备在地面上的速度,以米/秒为单位。如果 hasSpeed() 为 false,则 >返回 0.0f。
在 Galaxy S 上 hasSpeed 是假的吗?但是该功能应该从 API 级别 1 开始工作,所以我不明白问题可能出在哪里。
谁能帮忙?
谢谢
编辑:
if(location.hasSpeed())
{
speed = (location.getSpeed()*3.6);
}
else
{
if(lastLoc!=null)
{
double time=(System.currentTimeMillis()-lastUpdate)*1000;
speed=(location.distanceTo(lastLoc)/time)*3.6;
}
}