Java led闪烁之间的机具等待时间
我正在尝试创建一个应用程序,通过在android上使用我的手机闪光灯发送摩尔斯电码。 有了定时器,我可以按一定的间隔打开和关闭闪光灯,但用户无法取消操作。有没有实现此功能的方法?我应该使用什么类/函数来实现led打开/关闭之间的等待 提前感谢,, 塞德里克 这是我目前的代码,使闪存工作Java led闪烁之间的机具等待时间,java,android,timer,led,Java,Android,Timer,Led,我正在尝试创建一个应用程序,通过在android上使用我的手机闪光灯发送摩尔斯电码。 有了定时器,我可以按一定的间隔打开和关闭闪光灯,但用户无法取消操作。有没有实现此功能的方法?我应该使用什么类/函数来实现led打开/关闭之间的等待 提前感谢,, 塞德里克 这是我目前的代码,使闪存工作 public void sendSOS() { t=new Timer(); //kort kort kort t.schedule(new Shor
public void sendSOS()
{
t=new Timer();
//kort kort kort
t.schedule(new ShortFlash(),0);
t.schedule(new ShortFlash(),700);
t.schedule(new ShortFlash(),1400);
//lang lang lang
t.schedule(new LongFlash(),2400);
t.schedule(new LongFlash(),3600);
t.schedule(new LongFlash(),4800);
//kort kort kort
t.schedule(new ShortFlash(),6200);
t.schedule(new ShortFlash(),6900);
t.schedule(new ShortFlash(),7600);
}
class ShortFlash extends TimerTask
{
public void run()
{
cam=Camera.open();
Camera.Parameters params = cam.getParameters();
params.setFlashMode(Camera.Parameters.FLASH_MODE_ON);
cam.setParameters(params);
cam.startPreview();
cam.autoFocus(new Camera.AutoFocusCallback() {
public void onAutoFocus(boolean success, Camera camera) {
}
});
android.os.SystemClock.sleep(500);
cam.stopPreview();
cam.release();
}
}
class LongFlash extends TimerTask
{
public void run()
{
cam=Camera.open();
Camera.Parameters params = cam.getParameters();
params.setFlashMode(Camera.Parameters.FLASH_MODE_ON);
cam.setParameters(params);
cam.startPreview();
cam.autoFocus(new Camera.AutoFocusCallback() {
public void onAutoFocus(boolean success, Camera camera) {
}
});
android.os.SystemClock.sleep(1000);
cam.stopPreview();
cam.release();
}
}
Thread.currentThread().sleep(毫秒);将导致线程休眠若干毫秒。@ChrisHinshaw这肯定会起作用,但这是使操作可取消和可暂停的最糟糕方法。请给我们一些代码,以便我们找到最适合您的实现的解决方案。此外,我们自己也不必这样想:在这种情况下,您处理puase并取消并调用Thread.interrupt()。这应该停止睡眠,继续。你可以看看这个,这可能会有帮助[摩尔斯电码问题][1][1]: