现在的位置: 首页 > 综合 > 正文

Flashlight小工具实现

2012年06月23日 ⁄ 综合 ⁄ 共 1117字 ⁄ 字号 评论关闭

  一直发现手机上的手电筒是个很实用的功能,在网上下载了好几个手电筒,但是存在一个十分让人老火的问题:广告!

如此一个小小东西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和代码都在这里:

http://files.cnblogs.com/bastard/FlashLight.rar

抱歉!评论已关闭.