Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了android – 关闭手电筒后无法使用相机大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在为学校写一个应用程序,它有一些功能,需要相机拍照,裁剪,上传到服务器,然后用户必须能够打开手电筒(作为一些跟踪的一部分,我们是这样做).
以上所有工作都很完美 – 直到用户关闭手电筒并想要拍摄另一张照片.相机停止工作在屏幕上显示错误,表示无法连接到相机.

我知道有重新连接等命令:http://developer.android.com/reference/android/hardware/Camera.html#reconnect()
我一直在摆弄它,我不能为我的生活让它发挥作用.

使用相机我正在使用一个意图:

Intent intent    = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);

手电筒代码如下所示:

private void getCamera() {
    if (camera == null) {
        try {
            camera = Camera.open();

            params = camera.getParameters();
        } catch (RuntimeException E) {
            Log.e("Camera Error. Failed to Open. Error: ",e.getmessage());
        }
    }
}

 /*
 * Turning On flash
 */
private void turnOnFlash() {
    getCamera();
    if (!isFlashOn) {
        if (camera == null || params == null) {
            return;
        }

        params = camera.getParameters();
        params.setFlashMode(Parameters.FLASH_MODE_TORCH);

        camera.setParameters(params);
        camera.startPreview();

        isFlashOn = true;
    }

}

/*
 * Turning Off flash
 */
private void turnOffFlash() {
    if (isFlashOn) {
        if (camera == null || params == null) {
            return;
        }

        params = camera.getParameters();
        params.setFlashMode(Parameters.FLASH_MODE_OFF);
        camera.setParameters(params);
        isFlashOn = false;
    }
}

有什么方法可以为手电筒和相机使用相机的相同实例(当它是一个意图时)?我发现,如果我释放相机,那么它就会变为空,并且无法再次实现它.

提前致谢

解决方法

@Decoid你只需添加一个暂停方法,我猜你没有
如下:
@Override
    protected void onPause()
    {
        super.onPause();
        if (!isFlashOn) {
            camera.release();
            camera = null;
    }
}

大佬总结

以上是大佬教程为你收集整理的android – 关闭手电筒后无法使用相机全部内容,希望文章能够帮你解决android – 关闭手电筒后无法使用相机所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。