只是修改了一个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