一直发现手机上的手电筒是个很实用的功能,在网上下载了好几个手电筒,但是存在一个十分让人老火的问题:广告!
如此一个小小东西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和代码都在这里: