• Flashlight小工具实现


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

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

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

  • 相关阅读:
    所有程序员都是自学成才
    Xcode6模拟器路径
    Xcode7中模拟器的位置
    数据结构中的二级指针和引用
    02_线性表的链式表示和实现
    Spring 单例 httprequest 线程安全
    Springboot listener
    Spring单例 和 Scope注解
    红黑树
    线程池
  • 原文地址:https://www.cnblogs.com/bastard/p/2857726.html
Copyright © 2020-2023  润新知