Search code examples
androidflashcamerataskpreview

Android Camera Flash Preview


My problem is the following one, I want to take a picture but I need to turn on the camera led a little bit time before and take picture and then turn off.

CameraPreview.flashTurnOff() is a void and new Timer().schedule parameters are task, int.

How can I make the void CameraPreview.flashTurnOff(), into a task? Thanks!

captureButton.setOnClickListener(new View.OnClickListener() //TAKE THE PICTURE
    {        
        @Override        
        public void onClick(View v) 
        {            
            if(isFlashOn == 1)
            {
                CameraPreview.flashTurnOn();
                new Timer().schedule(CameraPreview.flashTurnOff(), 1000);
                mCamera.takePicture(null, null, mPicture);
            }
            else
            {    
                mCamera.takePicture(null, null, mPicture);  
                Log.d(TAG, "Tirou foto");
            }
        }    
    });
}

Solution

  • **That was the solution.**
    
    class DesligaFlash extends Thread 
        {
            public void run()
            {
                try 
                {
                    super.sleep(1000);
                } 
                catch (InterruptedException e) 
                {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                CameraPreview.flashTurnOff();
            }
        }
    
    captureButton.setOnClickListener(new View.OnClickListener() //TAKE THE PICTURE
        {        
            @Override        
            public void onClick(View v) 
            {            
                if(isFlashOn == 1)
                {
                    CameraPreview.flashTurnOn();
                    DesligaFlash bagulho = new DesligaFlash();
                    bagulho.run();
                }
                mCamera.takePicture(null, null, mPicture); 
            }   
        });