我有一个闪光闪烁信号的服务:
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);
}
}
这是目前对我来说“最快”的闪光闪烁解决方案。哪种最好的方法使闪光闪烁信号更快或更慢?市场上有很多应用程序(比如手电筒)提供了这个选项。谢谢。
发布于 2016-02-11 17:55:48
您可以创建一个新线程,在每次打开/关闭后,只要您希望暂停,线程就会进入睡眠状态
https://stackoverflow.com/questions/21064391
复制相似问题