我正在为一个应用程序编写一个代码,当当前速度超过用户设置的警告速度限制时,它会“发出哔哔声”。下面显示的代码写在里面onLocationChanged()
,但由于某种逻辑原因,它只发出一次哔声然后停止,这告诉我它通过了一次循环,之后过去时间和 curTime 失去了轨道,并且 if 条件在逻辑上不为真并因此跳过循环。我想要延迟 5 秒的原因是在哔哔声之间有足够的时间延迟并且不让它们重叠。我在活动一开始就用 0 初始化了 pasTime。对此修复的任何建议表示赞赏。此外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;
}
这是一个非常具体的问题,我找不到与此相关的任何内容。我知道这对专家来说是一个非常简单的问题。