アプリに現在の速度を表示したい。Galaxy Nexusでは正常に動作しますが、Galaxy Sは0.0しか表示しません。速度を取得するには、次のコードを使用します。
location.getSpeed()
私が知っているドキュメントから:
public float getSpeed() 以降:APIレベル1地上でのデバイスの速度をメートル/秒で返します。hasSpeed()がfalseの場合、0.0fが返されます。
Galaxy SでhasSpeedがfalseである可能性はありますか?しかし、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;
}
}