我正在尝试创建一个应用程序,通过在Android上使用我的手机的闪光灯发出摩尔斯电码。 使用计时器,我能够以一定的间隔打开和关闭闪光灯,但用户无法取消操作。有没有办法实现这个功能?我应该使用什么类/函数来实现led on / led offs之间的等待?
提前致谢, 塞德里克
这是我目前使闪存工作的代码
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();
}
}