How to turn on the Android Flashlight

后端 未结 5 980
南方客
南方客 2021-01-02 05:44

Update

Check out my answer

Original

I\'m trying to turn on the camera flashlight on the LG Revolution within my pro

5条回答
  •  时光取名叫无心
    2021-01-02 06:34

    /*TESTED LG G4 */
    public void flashOnOff(){
        List flashModes = parameter001.getSupportedFlashModes();
    
        if(flashModes != null &&    flashModes.contains(Parameters.FLASH_MODE_TORCH)){
    
            //appareil supportant le mode torch
            parameter001.setFlashMode(Parameters.FLASH_MODE_TORCH);
            mCamera.setParameters(parameter001);
        } else if (flashModes != null && flashModes.contains(Parameters.FLASH_MODE_ON)){
    
            //spécial samsung
            parameter001.setFlashMode(Parameters.FLASH_MODE_ON);
            mCamera.setParameters(parameter001);
    
            mCamera.autoFocus(new AutoFocusCallback() {
                public void onAutoFocus(boolean success, Camera camera) { }
            });
        } else {
            parameter001.setFlashMode(Parameters.FLASH_MODE_OFF);
            mCamera.setParameters(parameter001);
        } 
        if (!isFlashOn) {
            if (mCamera == null || parameter001 == null) {
                return;
            }
    
            parameter001 = mCamera.getParameters();
            parameter001.setFlashMode(Parameters.FLASH_MODE_TORCH);
            mCamera.setParameters(parameter001);
            try {
                mCamera.setPreviewTexture(new SurfaceTexture(0));
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            mCamera.startPreview();
            isFlashOn = true;
    
            // changing button/switch image
    
        }else if (isFlashOn) {
            if (mCamera == null || parameter001 == null) {
                return;
            }
    
            parameter001 = mCamera.getParameters();
            parameter001.setFlashMode(Parameters.FLASH_MODE_OFF);
            mCamera.setParameters(parameter001);
            mCamera.stopPreview();
            isFlashOn = false;
    
    
        }
    }
    

提交回复
热议问题