簡體   English   中英

手電筒(手電筒)打開但沒有關閉

[英]Flashlight (Torch) is opening but not closing

以下是我用來打開和關閉Torch的代碼。 但是當我關閉它時,它崩潰了。 LogCat說“運行時異常:無法連接到攝像頭服務”!

+ hasFlash沒有獲得任何值,並引發了Nullpointer異常。 (我正在用它來檢查閃光燈是否存在。)

我究竟做錯了什么?

boolean hasFlash = this.getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH);
if(hasFlash==true)

{

            if(s.equalsIgnoreCase("FlashLight On") || s.equalsIgnoreCase("Flash Light On"))
            {
                Camera cam = Camera.open();     
                Parameters p = cam.getParameters();
                p.setFlashMode(Parameters.FLASH_MODE_TORCH);
                cam.setParameters(p);
                return "Turning on";

            }
            if(s.equalsIgnoreCase("FlashLight Off") || s.equalsIgnoreCase("Flash Light Off"))
            {

                Camera cam = Camera.open();
                Parameters p = cam.getParameters();
                p.setFlashMode(Parameters.FLASH_MODE_OFF);
                cam.setParameters(p);
                cam.stopPreview();
                cam.release();

                return "Turning off";
            }
            }
            else
            {
                return "Flash Not Available";
            }

更改

Camera cam = Camera.open();
Parameters p = cam.getParameters();
p.setFlashMode(Parameters.FLASH_MODE_OFF);
cam.setParameters(p);
cam.stopPreview();
cam.release();

return "Turning off";

cam.stopPreview();
cam.release();

return "Turning off";

我在構建適用於Android的開源手電筒時遇到了很多此類問題,這可能會幫助您解決其他問題。

Joe github的手電筒

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM