Android api23-25 实现闪光灯控制

在网上寻找控制手机闪光灯的案例,发现大部分都是支持api21及以下的代码,这代码并不适用于api25。找了很多资料,最后在github上看到有人用CameraManager来实现。

我仿照着实现了一个ledLight的类,代码如下:

import android.content.Context;
import android.hardware.camera2.CameraAccessException;
import android.hardware.camera2.CameraManager;
import android.widget.Toast;

/**
 * Created by Administrator on 2017/8/21.
 */

public class ledFlash {

    Context context;
    CameraManager mCameraManager;
    String mCameraID;
    ledFlash(Context context){
        this.context = context;
        mCameraManager = (CameraManager)context.getSystemService(Context.CAMERA_SERVICE);
        try {
            final String[] list = mCameraManager.getCameraIdList();
            mCameraID = list[0];
        } catch (CameraAccessException e) {
            Toast.makeText(context, e.getMessage(), Toast.LENGTH_SHORT).show();
        }
    }


    public void toggle(boolean enable)
    {
        try {
            mCameraManager.setTorchMode(mCameraID, enable);
        }catch (Exception e)
        {
            Toast.makeText(context, e.getMessage(), Toast.LENGTH_SHORT).show();
        }
    }
}
调用代码:

ledFlash lf = new ledFlash(MainActivity.this);
lf.toggle(true);




猜你喜欢

转载自blog.csdn.net/shihunyewu/article/details/77454037
今日推荐