Question

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");
            }
        }    
    });
}
Was it helpful?

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); 
        }   
    });
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top