2012-06-27 6 views
0

Я использую временное предупреждение (работает нормально), чтобы попытаться запустить код, который быстро переключит светодиод вспышки камеры между положениями «включено» и «включено».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