我提供的服务可以使闪光灯闪烁信号:

public class FlashBlinkService extends Service

{

private static Camera cam = null;

private Handler handler = new Handler();

@Override

public IBinder onBind(Intent intent)

{

return null;

}

@Override

public void onCreate()

{

super.onCreate();

startFlashBlink();

}

//for simulating flash blink

Runnable flashBlinkRunnable = new Runnable()

{

public void run()

{

cam = Camera.open();

Parameters p = cam.getParameters();

p.setFlashMode(Parameters.FLASH_MODE_TORCH);

cam.setParameters(p);

cam.startPreview();

p.setFlashMode(Parameters.FLASH_MODE_OFF);

cam.setParameters(p);

cam.stopPreview();

cam.release();

cam = null;

//--->

handler.post(flashBlinkRunnable);

}

};

//start flash blink light

public void startFlashBlink()

{

flashBlinkRunnable.run();

}

//stop flash blink light

public void stopFlashBlink()

{

handler.removeCallbacks(flashBlinkRunnable);

stopCamera(cam);

}

//stop camera

private void stopCamera(Camera cam)

{

if (cam != null)

{

cam.stopPreview();

cam.release();

cam = null;

}

}

@Override

public void onDestroy()

{

super.onDestroy();

handler.removeCallbacks(flashBlinkRunnable);

stopCamera(cam);

}

}

对于我来说,这是“最快”的闪光灯闪烁解决方案.发出更快或更慢的闪光灯闪烁信号的最佳方法是什么?市场上有许多提供此选项的应用程序(例如手电筒).谢谢.

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐