android 打开手电筒 适配camera2

只是修改了一个bug,应用商店就提示使用了某某某家的sdk不让通过。

最后还是……唉,以后还能不能愉快地玩耍,头疼。

正文

在android 5.0+的版本以前的的camera API被废弃,

所以如果在android5.0中还使用以前的方法就不大合适了。

方法很简单就是在 CameraCaptureSession.StateCallback 中的onConfigured设置配置属性即可 


方法如下


       @Override
        public void onConfigured(CameraCaptureSession session) {
//            Log.v(TAG,"mSessionPreviewStateCallback onConfigured");
//            mSession = session;
            try {
//                preview.set(CaptureRequest.CONTROL_AF_MODE,
//                		CaptureResult.CONTROL_AE_MODE_ON);
            	//这句控制闪光灯
               preview.set(CaptureRequest.FLASH_MODE,
                        CaptureRequest.FLASH_MODE_TORCH);
                session.setRepeatingRequest(preview.build(), 
                		new MCameraCaptureSession()
                		, mHandler);
            } catch (CameraAccessException e) {
                e.printStackTrace();
                Log.v(TAG,"set preview builder failed."+e.getMessage());
            }
        }


就一句代码。

不知道怎么使用camera2的可以开看看这个实例教程 camera2

最后奉上自己扒来修改的手电筒工具类,简单修改下应该可以用


public class TorchManger implements OnClickListener, OnKeyListener {
	private String TAG =  getClass().getName();
	
	private WindowManager mWindowManager;
	private Context mContext;
	private int width;
	private int x;
	private int y;
	private Bitmap mBitmap;
	private int mStatusHeight;
	private LayoutParams mDragParams;
	private RelativeLayout bgView;
	private Camera mCamera;
	ImageView mDragImageView;

	public TorchManger() {
	}

	public void openTorch(Context context, View v, Bitmap bitmap) {
		
		this.mContext = context;
		this.mBitmap = bitmap;
		if(mWindowManager == null) {
			mWindowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
			mStatusHeight = WindowInfo.getStatusHeight(mContext); //获取状态栏的高度
		}
		Rect r = new Rect();
		v.get
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值