一直发现手机上的手电筒是个很实用的功能,在网上下载了好几个手电筒,但是存在一个十分让人老火的问题:广告!
如此一个小小东西TMD的还加个广告,宁愿不用!
把公司自己的手电筒APK pull出来,也在三星手上无法安装,反编译出来也没用,实现方式还有些不一样。这个不一样还真是影响了程序的效果!
就一个打开闪光灯而已很简单,自己做一个不久OK了。
下面代码利用了camera的东东,实现出来有一个问题,在开闪光灯的时候,
会发现:点击按钮之后非常明显滞后才开启闪光灯,这个滞后应该是启动camera造成;
相比公司自己的Flashlight APK,反应速度很快,没有明显滞后的感觉;
原因或许就在于公司自己做的不是通过camera启动,而是直接操作了闪光灯,速度可能更快了……
Android本身框架好像不能直接操作闪光灯的……么有办法了,将就着用了,很简单的一个东西,
下面是代码:
public class FlashlightOp { private Camera mCamera; private final String TAG = "Ares"; public FlashlightOp() { } public void turnOn() { try { mCamera = Camera.open(); Camera.Parameters parameters; parameters = mCamera.getParameters(); parameters.setFlashMode(Camera.Parameters.FLASH_MODE_ON); parameters.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH); mCamera.setParameters(parameters); } catch (Exception e) { Log.v(TAG, "turnOn Exception = " + e); } } public void turnOff() { try { Camera.Parameters parameters; parameters = mCamera.getParameters(); parameters.setFlashMode(Camera.Parameters.FLASH_MODE_OFF); mCamera.setParameters(parameters); mCamera.release(); } catch (Exception e) { Log.v(TAG,"turnOff Exception = " + e); } } }
APK和代码都在这里: