Android에서 프로그래밍 방식으로 전면 플래시를 켜는 방법은 무엇입니까?


233

Android에서 전면 플래시 라이트 (카메라 미리보기가 아닌)를 프로그래밍 방식으로 켜고 싶습니다. 나는 그것을 구글 검색했지만 내가 찾은 도움 으로이 페이지를 참조했다.

누구든지 링크 또는 샘플 코드가 있습니까?

답변:


401

이 문제의 경우 다음을 수행해야합니다.

  1. 손전등을 사용할 수 있는지 확인하십시오.

  2. 그렇다면 켜고 끄기

  3. 그렇지 않은 경우 앱 요구에 따라 무엇이든 할 수 있습니다.

들어 플래시의 가용성 확인 장치의를 :

다음을 사용할 수 있습니다.

 context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH);

플래시를 사용할 수 있으면 true를, 그렇지 않으면 false를 반환합니다.

자세한 내용은
http://developer.android.com/reference/android/content/pm/PackageManager.html 을 참조하십시오.

손전등을 켜거나 끄려면 :

나는 googled하고 android.permission.FLASHLIGHT에 대해 이것을 얻었습니다. 안드로이드 매니페스트의 권한은 유망한 것으로 보입니다.

 <!-- Allows access to the flashlight -->
 <permission android:name="android.permission.FLASHLIGHT"
             android:permissionGroup="android.permission-group.HARDWARE_CONTROLS"
             android:protectionLevel="normal"
             android:label="@string/permlab_flashlight"
             android:description="@string/permdesc_flashlight" />

그런 다음 Camera 를 사용 하고 Camera.Parameters를 설정 하십시오 . 여기에 사용 된 기본 매개 변수는 FLASH_MODE_TORCH 입니다.

예.

카메라 손전등을 켜는 코드 조각.

Camera cam = Camera.open();     
Parameters p = cam.getParameters();
p.setFlashMode(Parameters.FLASH_MODE_TORCH);
cam.setParameters(p);
cam.startPreview();

카메라 LED 조명을 끄는 코드 스 니펫.

  cam.stopPreview();
  cam.release();

이 권한을 사용하는 프로젝트를 찾았습니다. 빠른 설정의 src 코드를 확인하십시오. 여기 http://code.google.com/p/quick-settings/ (참고 :이 링크는 이제 끊어졌습니다)

손전등의 경우 http://code.google.com/p/quick-settings/source/browse/trunk/quick-settings/#quick-settings/src/com/bwx/bequick/flashlight를 직접보십시오 (참고 :이 링크는 이제 고장났다)

Update6 또한이 답변에 설명 된 것처럼 SurfaceView를 추가하려고 시도하면 어떤 API로 제어 가능한 Galaxy Nexus의 LED 손전등입니까? 이것은 많은 전화에서 작동하는 솔루션 인 것 같습니다.

업데이트 5 주요 업데이트

대체 링크 (위의 깨진 링크에 대한)를 찾았습니다 : http://www.java2s.com/Open-Source/Android/Tools/quick-settings/com.bwx.bequick.flashlight.htm 이제 이것을 사용할 수 있습니다 링크. [업데이트 : 2012 년 9 월 14 일이 링크는 끊어졌습니다]

업데이트 1

다른 오픈 소스 코드 : http://code.google.com/p/torch/source/browse/

업데이트 2

Motorola Droid에서 LED를 활성화하는 방법을 보여주는 예 : http://code.google.com/p/droidled/

또 다른 오픈 소스 코드 :

http://code.google.com/p/covedesigndev/
http://code.google.com/p/search-light/

업데이트 3 (카메라 LED 켜기 / 끄기 위젯)

카메라 LED를 켜고 끄는 위젯을 개발하려면 android에서 카메라 손전등을 켜고 끄는 내 대답 위젯을 참조해야합니다 ..

업데이트 4

카메라 LED에서 나오는 빛의 강도를 설정하려면 Android 장치의 LED 강도를 변경할 수 있습니까?를 참조하십시오 . 전체 게시물. 루팅 된 HTC 장치 만이 기능을 지원합니다.

** 문제 : **

손전등을 켜고 끄는 중에도 일부 문제가 있습니다. 예. 장치가 없거나 가지고있는 FLASH_MODE_TORCH경우에도 손전등이 켜지지 않습니다.

일반적으로 삼성은 많은 문제를 일으 킵니다.

주어진 아래 목록에서 문제를 참조 할 수 있습니다.

Android에서 카메라 손전등 사용

Samsung Galaxy Ace 2.2.1 및 Galaxy Tab에서 카메라 LED / 플래시 표시 등 켜기 / 끄기


2
당신의 도움을 주셔서 감사합니다, 그것은 나를 위해 작동합니다! -방금 Flashlight 인터페이스와 HtcLedFlashlight 클래스를 복사 한 다음 true / false HtcLedFlashlight와 함께 setOn 메소드를 호출했습니다. --- 인터페이스 - 손전등 code.google.com/p/quick-settings/source/browse/trunk/... - 클래스 HtcLedFlashlight code.google.com/p/quick-settings/source/browse/trunk/...
saiket

1
@saiket : welcome .. 문제가 해결되면이 답변을 해결 된 것으로 표시하십시오. 다른 사람에게 유용 할 수 있도록 ..
Kartik Domadiya

1
@PolamReddyRajaReddy : 나는 당신이 Samsung Device에서 테스트하고 있다고 생각합니다. 나 맞아 ?
Kartik Domadiya

7
권한의 경우 매니페스트 파일의 올바른 코드는 다음과 같습니다.`<uses-permission android : name = "android.permission.CAMERA"/> <uses-permission android : name = "android.permission.FLASHLIGHT"/>`
ixeft

1
또한 사용 :-camera.release ();
Chetan

35

내 경험에 따르면 응용 프로그램이 가로 및 세로 방향으로 작동하도록 설계된 경우 변수 cam를 정적 으로 선언해야합니다 . 그렇지 않으면 onDestroy()방향 전환시 호출되는 카메라가 파괴되지만 카메라를 해제하지 않으므로 다시 열 수 없습니다.

package com.example.flashlight;

import android.hardware.Camera;
import android.hardware.Camera.Parameters;
import android.os.Bundle;
import android.app.Activity;
import android.content.pm.PackageManager;
import android.view.Menu;
import android.view.View;
import android.widget.Toast;

public class MainActivity extends Activity {

public static Camera cam = null;// has to be static, otherwise onDestroy() destroys it

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

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.activity_main, menu);
    return true;
}

public void flashLightOn(View view) {

    try {
        if (getPackageManager().hasSystemFeature(
                PackageManager.FEATURE_CAMERA_FLASH)) {
            cam = Camera.open();
            Parameters p = cam.getParameters();
            p.setFlashMode(Parameters.FLASH_MODE_TORCH);
            cam.setParameters(p);
            cam.startPreview();
        }
    } catch (Exception e) {
        e.printStackTrace();
        Toast.makeText(getBaseContext(), "Exception flashLightOn()",
                Toast.LENGTH_SHORT).show();
    }
}

public void flashLightOff(View view) {
    try {
        if (getPackageManager().hasSystemFeature(
                PackageManager.FEATURE_CAMERA_FLASH)) {
            cam.stopPreview();
            cam.release();
            cam = null;
        }
    } catch (Exception e) {
        e.printStackTrace();
        Toast.makeText(getBaseContext(), "Exception flashLightOff",
                Toast.LENGTH_SHORT).show();
    }
}
}

이 줄을 넣어야했다

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

에서 http://developer.android.com/reference/android/hardware/Camera.html

위의 제안 된 줄은 나를 위해 작동하지 않았습니다.


카메라가 꺼져 있으면 시스템 기능을 확인할 필요가 없습니다. cam! = null 인 경우 켜져 있음
Greg Ennis

1
나를 위해 가장 유용한 부분은 다음과 같습니다you need to declare the variable cam as static
Alex Jolig

수입시 Camera의 클래스 AndroidStudio 에주의가되게합니다 android.hardware클래스 ...

32

API 23 이상 (Android M, 6.0)

코드 켜기

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
    CameraManager camManager = (CameraManager) getSystemService(Context.CAMERA_SERVICE);
    String cameraId = null; 
    try {
        cameraId = camManager.getCameraIdList()[0];
        camManager.setTorchMode(cameraId, true);   //Turn ON
    } catch (CameraAccessException e) {
        e.printStackTrace();
    }
}

코드 끄기

camManager.setTorchMode(cameraId, false);

그리고 권한

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

추가 편집

사람들은 여전히 ​​내 대답을 찬성하여 추가 코드를 게시하기로 결정했습니다. 이것은 당시의 문제에 대한 해결책이었습니다.

public class FlashlightProvider {

private static final String TAG = FlashlightProvider.class.getSimpleName();
private Camera mCamera;
private Camera.Parameters parameters;
private CameraManager camManager;
private Context context;

public FlashlightProvider(Context context) {
    this.context = context;
}

private void turnFlashlightOn() {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        try {
            camManager = (CameraManager) context.getSystemService(Context.CAMERA_SERVICE);
            String cameraId = null; 
            if (camManager != null) {
                cameraId = camManager.getCameraIdList()[0];
                camManager.setTorchMode(cameraId, true);
            }
        } catch (CameraAccessException e) {
            Log.e(TAG, e.toString());
        }
    } else {
        mCamera = Camera.open();
        parameters = mCamera.getParameters();
        parameters.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
        mCamera.setParameters(parameters);
        mCamera.startPreview();
    }
}

private void turnFlashlightOff() {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        try {
            String cameraId;
            camManager = (CameraManager) context.getSystemService(Context.CAMERA_SERVICE);
            if (camManager != null) {
                cameraId = camManager.getCameraIdList()[0]; // Usually front camera is at 0 position.
                camManager.setTorchMode(cameraId, false);
            }
        } catch (CameraAccessException e) {
            e.printStackTrace();
        }
    } else {
        mCamera = Camera.open();
        parameters = mCamera.getParameters();
        parameters.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);
        mCamera.setParameters(parameters);
        mCamera.stopPreview();
    }
}
}

2
"보통 전면 카메라가 0 위치에 있습니다"는 무슨 뜻입니까? 앞에있는 것과 아닌 것을 어떻게 확인할 수 있습니까? BTW, 전면 카메라는 현재 사용자를 대상으로합니다. 후면 카메라는 아마도 항상 플래시가있는 카메라입니다. 플래시가 켜져 있는지 꺼져 있는지 어떻게 확인할 수 있습니까?
안드로이드 개발자

13

간단한 3 단계 아래에 자동 플래시 조명이 있습니다.

  • 방금 Manifest.xml 파일 에 카메라 및 플래시 권한을 추가했습니다.
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />

<uses-permission android:name="android.permission.FLASHLIGHT"/>
<uses-feature android:name="android.hardware.camera.flash" android:required="false" />
  • 카메라 코드에서 이런 식으로하십시오.

    //Open Camera
    Camera  mCamera = Camera.open(); 
    
    //Get Camera Params for customisation
    Camera.Parameters parameters = mCamera.getParameters();
    
    //Check Whether device supports AutoFlash, If you YES then set AutoFlash
    List<String> flashModes = parameters.getSupportedFlashModes();
    if (flashModes.contains(android.hardware.Camera.Parameters.FLASH_MODE_AUTO))
    {
         parameters.setFlashMode(Parameters.FLASH_MODE_AUTO);
    }
    mCamera.setParameters(parameters);
    mCamera.startPreview();
  • 빌드 + 실행 —> 이제 희미한 조명 영역 및 스냅 사진으로 이동하면 장치가 지원하는 경우 자동 플래시 조명이 나타납니다.


9

Android Lollipop은 camera2 API를 도입 했으며 이전 카메라 API는 더 이상 사용되지 않습니다. 그러나 더 이상 사용되지 않는 API를 사용하여 플래시를 켜면 새 API를 사용하는 것보다 훨씬 간단합니다.

새로운 API는 완전한 기능을 갖춘 전용 카메라 앱에서 사용하기위한 것으로 보이며 건축가는 손전등 켜기와 같은 간단한 사용 사례를 실제로 고려하지 않은 것 같습니다. 이를 위해서는 CameraManager를 가져 와서 더미 Surface로 CaptureSession을 생성 한 다음, 마지막으로 CaptureRequest를 생성하고 시작해야합니다. 예외 처리, 리소스 정리 및 긴 콜백 포함!

Lollipop 이상에서 손전등을 켜는 방법을 보려면 AOSP 프로젝트에서 FlashlightController 를 살펴 보십시오 (수정 된 이전 사용 API로 최신 버전을 찾으십시오). 필요한 권한을 설정하는 것을 잊지 마십시오.


Android Marshmallow는 마침내 setTorchMode로 플래시를 켜는 간단한 방법을 소개했습니다 .


1
기존 android.hardware.Camera API는 이전과 동일하게 작동하므로 손전등에 android.hardware.camera2를 사용해야하는 근본적인 이유는 없습니다. 손전등을 활성화하기 위해 활성 미리보기를 유지할 필요가 없으므로 camera2로 전력 소비 및 CPU 부하를 줄일 수 있습니다.
Eddy Talvala

두 개의 Lollipop 장치에서 간단한 구현 중 하나를 시도했지만 플래시를 시도하지 않은 여러 Lollipop 이전 장치에서 모두 작동했지만 플래시를 켜지 않았습니다. 아마도 그것은 롤리팝의 버그 일 것입니다. 이전 방법이 여전히 효과가 있고 Java 순수 주의자가 아닌 경우 이전 API를 사용하는 것이 훨씬 간단합니다.
LukaCiko

현재 Lollipop과 함께 Nexus 5를 사용하고 있으며 완벽하게 작동합니다. 또한 나 자신이 만든 응용 프로그램을 소유하고 있으며 이러한 방법으로 구현됩니다. 누구나 시도하고 싶을 때. play.google.com/store/apps/details?id=com.fadad.linterna 링크를 재생 스토어에 추가했습니다. 중요한 것은 플래시와 권한을 실행하기 전에 카메라가 활성화 또는 비활성화되어 있는지 확인하는 것입니다.
ferdiado

미안, 내 실수 이전 API로 플래시를 켜려고 할 때 다른 앱에서 카메라를 사용하고 있었을 것입니다. 답변을 업데이트했습니다.
LukaCiko

7

안드로이드 손전등 앱에 대한 완전한 코드

명백한

  <?xml version="1.0" encoding="utf-8"?>
  <manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.user.flashlight"
      android:versionCode="1"
      android:versionName="1.0">

      <uses-sdk
          android:minSdkVersion="8"
          android:targetSdkVersion="17"/>

      <uses-permission android:name="android.permission.CAMERA" />
      <uses-feature android:name="android.hardware.camera"/>

      <application
          android:allowBackup="true"
          android:icon="@mipmap/ic_launcher"
          android:label="@string/app_name"
          android:theme="@style/AppTheme" >
          <activity
              android:name=".MainActivity"
              android:label="@string/app_name" >
              <intent-filter>
                  <action android:name="android.intent.action.MAIN" />

                  <category android:name="android.intent.category.LAUNCHER" />
              </intent-filter>
          </activity>
      </application>

  </manifest>

XML

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
    android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="OFF"
        android:id="@+id/button"
        android:layout_centerVertical="true"
        android:layout_centerHorizontal="true"
        android:onClick="turnFlashOnOrOff" />
</RelativeLayout>

MainActivity.java

  import android.app.AlertDialog;
  import android.content.DialogInterface;
  import android.content.pm.PackageManager;
  import android.hardware.Camera;
  import android.hardware.Camera.Parameters;
  import android.support.v7.app.AppCompatActivity;
  import android.os.Bundle;
  import android.view.View;
  import android.widget.Button;

  import java.security.Policy;

  public class MainActivity extends AppCompatActivity {

      Button button;
      private Camera camera;
      private boolean isFlashOn;
      private boolean hasFlash;
      Parameters params;

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

          button = (Button) findViewById(R.id.button);

          hasFlash = getApplicationContext().getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH);

          if(!hasFlash) {

              AlertDialog alert = new AlertDialog.Builder(MainActivity.this).create();
              alert.setTitle("Error");
              alert.setMessage("Sorry, your device doesn't support flash light!");
              alert.setButton("OK", new DialogInterface.OnClickListener() {
                  @Override
                  public void onClick(DialogInterface dialog, int which) {
                      finish();
                  }
              });
              alert.show();
              return;
          }

          getCamera();

          button.setOnClickListener(new View.OnClickListener() {
              @Override
              public void onClick(View v) {

                  if (isFlashOn) {
                      turnOffFlash();
                      button.setText("ON");
                  } else {
                      turnOnFlash();
                      button.setText("OFF");
                  }

              }
          });
      }

      private void getCamera() {

          if (camera == null) {
              try {
                  camera = Camera.open();
                  params = camera.getParameters();
              }catch (Exception e) {

              }
          }

      }

      private void turnOnFlash() {

          if(!isFlashOn) {
              if(camera == null || params == null) {
                  return;
              }

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

      }

      private void turnOffFlash() {

              if (isFlashOn) {
                  if (camera == null || params == null) {
                      return;
                  }

                  params = camera.getParameters();
                  params.setFlashMode(Parameters.FLASH_MODE_OFF);
                  camera.setParameters(params);
                  camera.stopPreview();
                  isFlashOn = false;
              }
      }

      @Override
      protected void onDestroy() {
          super.onDestroy();
      }

      @Override
      protected void onPause() {
          super.onPause();

          // on pause turn off the flash
          turnOffFlash();
      }

      @Override
      protected void onRestart() {
          super.onRestart();
      }

      @Override
      protected void onResume() {
          super.onResume();

          // on resume turn on the flash
          if(hasFlash)
              turnOnFlash();
      }

      @Override
      protected void onStart() {
          super.onStart();

          // on starting the app get the camera params
          getCamera();
      }

      @Override
      protected void onStop() {
          super.onStop();

          // on stop release the camera
          if (camera != null) {
              camera.release();
              camera = null;
          }
      }

  }

예제를 시작하기 전에 플래시가 이미 켜져 있으면 플래시를 끄려고 시도해도 작동하지 않습니다. 해당 문제에 대한 해결책이 있습니까?
Taifun

7

다양한 Android 버전에서 Camera Flash에 액세스하는 방법에는 여러 가지가 있습니다. Lollipop에서 작동을 멈춘 API는 거의 없으며 Marshmallow에서 다시 변경되었습니다. 이를 극복하기 위해 몇 가지 프로젝트에서 사용하고있는 간단한 라이브러리를 만들었으며 좋은 결과를 얻었습니다. 여전히 불완전하지만 코드를 확인하고 누락 된 부분을 찾을 수 있습니다. 링크는 NoobCameraFlash 입니다.

코드에 통합하려는 경우 gradle을 사용할 수 있습니다. 지침은 다음과 같습니다 (Readme에서 직접 가져옴)-

단계 1. JitPack 저장소를 빌드 파일에 추가하십시오. 리포지토리 끝에서 루트 build.gradle에 추가하십시오.

allprojects {
        repositories {
            ...
            maven { url "https://jitpack.io" }
        }
}

2 단계. 종속성 추가

dependencies {
        compile 'com.github.Abhi347:NoobCameraFlash:0.0.1'
  }

용법

NoobCameraManager싱글 톤을 초기화하십시오 .

NoobCameraManager.getInstance().init(this);

디버그 로깅에 대한 로그 수준을 선택적으로 설정할 수 있습니다. 로깅은 LumberJack 라이브러리를 사용 합니다. 기본 LogLevel은LogLevel.None

NoobCameraManager.getInstance().init(this, LogLevel.Verbose);

그런 다음 싱글 톤을 호출하여 카메라 플래시를 켜거나 끄면됩니다.

NoobCameraManager.getInstance().turnOnFlash();
NoobCameraManager.getInstance().turnOffFlash();

NoobCameraManager를 초기화하기 전에 카메라에 직접 액세스하려면 런타임 권한을 관리해야합니다. 0.1.2 이전 버전에서는 라이브러리에서 직접 권한을 지원하는 데 사용했지만 Activity 객체에 대한 종속성으로 인해 제거해야합니다.

플래시도 쉽게 전환 할 수 있습니다

if(NoobCameraManager.getInstance().isFlashOn()){
    NoobCameraManager.getInstance().turnOffFlash();
}else{
    NoobCameraManager.getInstance().turnOnFlash();
}

활동 대신 컨텍스트 사용에 대한 지원을 추가하십시오. 감사!
Vajira Lasantha

@VajiraLasantha 활동을 수행하려면 권한이 필요합니다. 어떻게 든 권한을 분리하여 요구 사항을 완전히 제거하려고했습니다. 여기에서 추적됩니다 -github.com/Abhi347/NoobCameraFlash/issues/3 한편, 원하는 경우 코드를 수정하여 요구 사항을 제거 할 수 있습니다. 작업에 시간이 필요할 수 있습니다.
멍청한 놈

그래, 봤어 권한 항목을 제거하여 컨텍스트와 함께 작동하도록 lib를 이미 변경했습니다. 내 앱은 이미 권한 유효성 검사를 수행하기 때문입니다. Context를 지원하는 적절한 구현을 발표했을 때 알려주십시오. 감사!
Vajira Lasantha

You have to take care of the runtime permissions to access Camera yourself, before initializing the NoobCameraManager. In version 0.1.2 or earlier we used to provide support for permissions directly from the library, but due to dependency on the Activity object, we have to remove it.
Pratik Butani

장치에 여러 번 깜박이는 경우 어떻게합니까? 일부는 전면 카메라에 ...
Android 개발자

0

SurfaceView를 사용하는 조각을 통해 응용 프로그램에서이 기능을 구현했습니다. 이 stackoverflow 질문에 대한 링크 및 답변은 여기 에서 찾을 수 있습니다.

도움이 되었기를 바랍니다 :)


0

마시멜로 이상에서는 CameraManager의`setTorchMode () '가 답인 것 같습니다. 이것은 나를 위해 작동합니다 :

 final CameraManager mCameraManager = (CameraManager) getSystemService(Context.CAMERA_SERVICE);
 CameraManager.TorchCallback torchCallback = new CameraManager.TorchCallback() {
     @Override
     public void onTorchModeUnavailable(String cameraId) {
         super.onTorchModeUnavailable(cameraId);
     }

     @Override
     public void onTorchModeChanged(String cameraId, boolean enabled) {
         super.onTorchModeChanged(cameraId, enabled);
         boolean currentTorchState = enabled;
         try {
             mCameraManager.setTorchMode(cameraId, !currentTorchState);
         } catch (CameraAccessException e){}



     }
 };

 mCameraManager.registerTorchCallback(torchCallback, null);//fires onTorchModeChanged upon register
 mCameraManager.unregisterTorchCallback(torchCallback);

0

이 시도.

CameraManager camManager = (CameraManager) getSystemService(Context.CAMERA_SERVICE);
    String cameraId = null; // Usually front camera is at 0 position.
    try {
        cameraId = camManager.getCameraIdList()[0];
        camManager.setTorchMode(cameraId, true);
    } catch (CameraAccessException e) {
        e.printStackTrace();
    }

-3

다음 코드를 사용하여 플래시를 끌 수도 있습니다.

Camera.Parameters params = mCamera.getParameters()
p.setFlashMode(Parameters.FLASH_MODE_OFF);
mCamera.setParameters(params);
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.