2012-05-11 4 views
0

Я пишу код для приложения, которое будет «звучать», когда текущая скорость больше, чем установленный пользователем предел скорости. Код, показанный ниже, написан внутри 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; 
} 

Это очень специфическая проблема, и я не мог найти ничего подобного. Я знаю, что это очень простая проблема для эксперта.

ответ

0

Не смысл быть снисходительным здесь (этот ответ звучит как ваша классическая служба поддержки ИТ «Вы пытались выключить и снова включить?»), Просто покрывая все базы.

Вы обновляете curTime? То, что вы описываете, - это то, что вы увидите, если pastTime был изначально установлен далеко в прошлом и curTime установлен после вне цикла и не обновляется.

В противном случае вам, вероятно, потребуется взять несколько примеров переменных, участвующих в этом операторе if (до if), чтобы узнать, какие значения они установлены.

Или, сила одна из условий, чтобы быть правдой заранее (например, с помощью Activity.mySpeedmph = mySpeed_max + 1; таким образом, чтобы проверить работу условия другой.

+0

CURTIME постоянно обновляется внутри locationlistener, он расположен прямо под getSpeed ​​() , и я могу видеть изменение скорости, так что говорит мне, что curTime также должен меняться. – user1388402

Смежные вопросы