Я использую временное предупреждение (работает нормально), чтобы попытаться запустить код, который быстро переключит светодиод вспышки камеры между положениями «включено» и «включено».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);
}
};
Спасибо! Для совместимости устройств я знаю, что мое устройство поддерживает FLASH_MODE TORCH. И для других устройств я бы использовал .hassystemfeature и попытался установить множество различных функций строба, применимых к их устройству. Сейчас я просто заинтересован в том, чтобы этот код работал. – Griffin