2012-06-27 4 views
0

카메라 플래시 LED를 켜고 끄는 위치 사이를 빠르게 전환하는 코드를 실행하려면 시간 초과 알림 (정상 작동)을 사용하고 있습니다.Android - 핸들러로 카메라 LED를 스트로브에 연결 하시겠습니까?

처리기를 사용하여 두 모드 사이를 전환하려고하지만이를 실행할 수없는 것처럼 보입니다. 누군가가 카메라 LED를 켜는 또 다른 방법을 제안 할 수 있는지, 아니면 코드에 문제가있는 것을 찾아 낼 수 있는지 궁금합니다.

도움을 주시면 대단히 감사하겠습니다. 저는 정말 Android 프로그래밍에 익숙합니다. 미리보기를 중지하고 플래시를 끄 충분하다 카메라를 출시,

import android.app.Activity; 
import android.hardware.Camera; 
import android.hardware.Camera.Parameters; 
import android.os.Bundle; 
import android.os.Handler; 


public class MyAlert extends Activity { 
private Handler mHander = new Handler(); 

private boolean mActive = false; 
    private boolean mSwap = true; 
    private Camera camera; 
    final Parameters p = camera.getParameters(); 


     private final Runnable mRunnable = new Runnable() { 

     public void run() {   
      if (mActive) { 
       if (mSwap) {      
        p.setFlashMode(Parameters.FLASH_MODE_TORCH); 
        camera = Camera.open(); 
        camera.setParameters(p); 
        camera.startPreview(); 
        mSwap = false; 
        mHander.postDelayed(mRunnable, 20); 
       } else { 
        p.setFlashMode(Parameters.FLASH_MODE_OFF); 
        camera = Camera.open(); 
        camera.setParameters(p); 
        camera.stopPreview(); 
        mSwap = true; 
        mHander.postDelayed(mRunnable, 100); 
       } 
      }   
     } 
    }; 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     startStrobe(); 
    } 

    private void startStrobe() {   
     mActive = true; 
     mHander.post(mRunnable); 


    } 
}; 

답변

0

AFAIR :

여기에 코드입니다. 그러나 실제 문제는 장치가 다르게 행동하고 항상 광고되는 것처럼 아닙니다.

+0

고마워요! 장치 호환성을 위해 내 장치가 FLASH_MODE TORCH를 지원한다는 것을 알고 있습니다. 그리고 다른 장치의 경우 .hassystemfeature를 사용하고 해당 장치에 적용 할 수있는 다양한 다양한 스트로브 기능을 설정하려고합니다. 지금은이 코드를 작동시키는 것에 관심이 있습니다. – Griffin