2013-12-04 4 views
2
// Get the camera 
     private void getCamera() { 
      if (camera == null) { 
       try { 
        camera = Camera.open(); 
        params = camera.getParameters(); 
       } catch (RuntimeException e) { 
        Log.e("Camera Error. Failed to Open. Error: ", e.getMessage()); 
       } 
      } 
     } 





// Turning On flash 
    private void turnOnFlash() { 
     if (!isFlashOn) { 
      if (camera == null || params == null) { 
       return; 
      } 
     // play sound 
     playSound(); 

     params = camera.getParameters(); 
     params.setFlashMode(Parameters.FLASH_MODE_TORCH); 
     camera.setParameters(params); 
     camera.startPreview(); 
     isFlashOn = true; 

     // changing button/switch image 
     toggleButtonImage(); 
    } 

} 

Мой код, который вовлекается со вспышкой на выше, любые предложения, как сделать флэш не открыть момент мое приложение открывается, но только тогда, когда я нажимаю кнопкуКак сделать мой фонарик не открытым, когда я открываю программу?

+0

Итак, где в вашем коде 'turnFlashOn()' получать вызов? –

+0

не может помочь мне с этим? :/ –

+0

Нет, потому что вы не указали код в любом месте, который вызывает 'turnFlashOn()'. Если бы у вас было, я бы не спросил, откуда пришел звонок. :-) Найдите свой код и узнайте, где вызывается 'turnFlashOn()' (а не ** определенный **, но ** называется **). –

ответ

0

Я думаю, вы звоните turnFlashOn() в onCreate() и не имеют кнопки ClickListener. Но возможно, вы могли бы позвонить turnFlashOn() в onStart() или onResume().

Чтобы его включить с помощью нажатия кнопки вы должны сделать что-то вроде

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.your_view); 

    flashlight_button = (Button) findViewById(R.id.your_button); 
    flashlight_button.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      getCamera(); 
      turnOnFlash(); 
     } 
    }); 

} 

Я построил источник фонарик открытым для Android, которые вы можете проверить на Flashlight by Joe github.

Смежные вопросы