Я пишу код для приложения, которое будет «звучать», когда текущая скорость больше, чем установленный пользователем предел скорости. Код, показанный ниже, написан внутри onLocationChanged()
, но по какой-то логической причине он подает звуковой сигнал только один раз, а затем останавливается, что говорит мне, что он проходит цикл один раз и после которого lastTime и curTime теряют трек, а условие if не логически истинно после и, следовательно, пропускания цикла. Причина, по которой мне нужна задержка в 5 секунд, - иметь достаточную задержку времени между звуковыми сигналами и не перекрывать их. Я проиндексировал pasTime с 0 в самом начале активности. Любое предложение об исправлении для этого оценивается. Также curTime = c.getTimeInMillis()
каждый раз при изменении местоположения в приемнике местоположения.Условный звуковой сигнал не работает
if (Activity2.mySpeedmph > mySpeed_max & curTime > pastTime+5000)
{
player = MediaPlayer.create(Activity2.this, R.raw.beep);
player.setLooping(false);
player.setVolume(100,100);
player.start();
pastTime = curTime;
}
Это очень специфическая проблема, и я не мог найти ничего подобного. Я знаю, что это очень простая проблема для эксперта.
CURTIME постоянно обновляется внутри locationlistener, он расположен прямо под getSpeed () , и я могу видеть изменение скорости, так что говорит мне, что curTime также должен меняться. – user1388402