Вспышка не включена в SAMSUNG Mobile

Я пытаюсь включить Flash Light в SamSung mobile, но не включается. вот мой код

Camera mycam = Camera.open();
Parameters p = mycam.getParameters();
p.setFlashMode(Parameters.FLASH_MODE_OFF);// = mycam.getParameters();
p.setFlashMode(Parameters.FLASH_MODE_ON); 
mycam.setParameters(p);

<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.FLASHLIGHT"/>

И разрешения в манифесте выше:

Спасибо в Advance Ranganath.T.M

Ответ 1

Это обходной путь, который я использую для Samsung Galaxy Ace для фонарика. Я по существу непрерывно автоматически фокусирую камеру, потому что светодиод включается только во время автофокуса.

AutoFocusCallback autoFocusCallback = new AutoFocusCallback();
autoFocusCallback.setHandler(handler, message);
//Log.d(TAG, "Requesting auto-focus callback");
camera.autoFocus(autoFocusCallback);


class AutoFocusCallback implements Camera.AutoFocusCallback {

  private Handler autoFocusHandler;
  private int autoFocusMessage;

  void setHandler(Handler autoFocusHandler, int autoFocusMessage) {
    this.autoFocusHandler = autoFocusHandler;
    this.autoFocusMessage = autoFocusMessage;
  }

  public void onAutoFocus(boolean success, Camera camera) {
      Message message = autoFocusHandler.obtainMessage(autoFocusMessage, success)}
      autoFocusHandler.sendMessage(message)
      autoFocusHandler = null;
  }  
}

TORCH_MODE_ON предпочтительнее, но поскольку он не поддерживается, это лучший способ, который я нашел, если вы просто должны иметь фонарик.