Я пишу код для приложения, которое издает звуковой сигнал, когда текущая скорость превышает установленное пользователем ограничение скорости предупреждения. Показанный ниже код написан внутри onLocationChanged()
, но по какой-то логической причине он издает звуковой сигнал только один раз, а затем останавливается, что говорит мне о том, что он проходит цикл один раз, после чего pastTime и 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;
}
Это очень специфическая проблема, и я не мог найти ничего, связанного с этим. Я знаю, что это очень простой вопрос для эксперта.