Android'de ön flaş ışığını programlı olarak nasıl açarım?


233

Android'de programlı olarak ön flaş ışığını (kamera önizlemesiyle değil) açmak istiyorum. Ben googled ama bulduğum yardım beni bu sayfaya yönlendirdi

Herhangi bir bağlantısı veya örnek kodu olan var mı?

Yanıtlar:


401

Bu sorun için şunları yapmalısınız:

  1. El fenerinin mevcut olup olmadığını kontrol ettiniz mi?

  2. Öyleyse Kapat / Aç

  3. Değilse, uygulamanızın ihtiyaçlarına göre her şeyi yapabilirsiniz.

İçin flaş kullanılabilirliğini kontrol etme cihazında:

Aşağıdakileri kullanabilirsiniz:

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

hangi flaş mevcutsa true, değilse false döndürecektir.

Daha fazla bilgi için bkz.
Http://developer.android.com/reference/android/content/pm/PackageManager.html .

El fenerini açmak / kapatmak için:

Ben googled ve android.permission.FLASHLIGHT hakkında bu var. Android bildirilerinin izni umut verici görünüyor:

 <!-- 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" />

Ardından Kamera'yı kullanın ve Kamera'yı ayarlayın. Parametreler . Burada kullanılan ana parametre FLASH_MODE_TORCH'dir .

Örneğin.

Kamera el fenerini açmak için Kod Parçacığı.

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

Kod snippet'i kamera led ışığını kapatmak için.

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

Bu izni kullanan bir proje buldum. Hızlı ayarların src kodunu kontrol edin. burada http://code.google.com/p/quick-settings/ (Not: Bu bağlantı şimdi kesilmiştir)

El feneri için doğrudan http://code.google.com/p/quick-settings/source/browse/trunk/quick-settings/#quick-settings/src/com/bwx/bequick/flashlight adresini ziyaret edin (Not: Bu bağlantı şimdi kırıldı)

Güncelleme6 Ayrıca , hangi API tarafından kontrol edilebilen Galaxy Nexus'ta bu cevap LED el fenerinde açıklandığı gibi bir SurfaceView eklemeyi deneyebilirsiniz ? Bu, birçok telefonda çalışan bir çözüm gibi görünüyor.

Güncelleme 5 Büyük Güncelleme

Alternatif bir Bağlantı buldum (yukarıdaki kırık bağlantılar için): http://www.java2s.com/Open-Source/Android/Tools/quick-settings/com.bwx.bequick.flashlight.htm Şimdi bunu kullanabilirsiniz bağlantı. [Güncelleme: 14/9/2012 Bu bağlantı şimdi kesildi]

Güncelleme 1

Başka bir Açık Kaynak Kodu: http://code.google.com/p/torch/source/browse/

Güncelleme 2

Motorola Droid'de LED'in nasıl etkinleştirileceğini gösteren örnek: http://code.google.com/p/droidled/

Başka bir Açık Kaynak Kodu:

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

Güncelleme 3 (Kamera ledini açmak / kapatmak için widget)

Eğer kamera led açar / kapatır bir widget geliştirmek istiyorsanız, o zaman android benim kamera feneri açmak / kapatmak için benim cevap Widget başvurmak gerekir ..

Güncelleme 4

Kamera LED'inden çıkan ışığın yoğunluğunu ayarlamak isterseniz , bir Android cihazın LED yoğunluğunu değiştirebilir miyim? tam gönderi. Yalnızca köklü HTC cihazlarının bu özelliği desteklediğini unutmayın.

** Sorunlar:**

Feneri Açma / Kapatma sırasında da bazı sorunlar var. Örneğin. sahip olmayan FLASH_MODE_TORCHveya olsa bile cihazlar için el feneri açılmaz vb.

Tipik olarak Samsung birçok sorun yaratır.

Aşağıdaki listede yer alan sorunlara başvurabilirsiniz:

Android'de kamera feneri kullanma

Samsung Galaxy Ace 2.2.1 ve Galaxy Tab'de Kamera LED'ini / flaş ışığını açın / kapatın


2
Yardımınız için teşekkürler, Benim için çalışıyor! - Ben sadece arayüz Flashlight ve sınıf HtcLedFlashlight kopyaladı sonra ben sadece true / false HtcLedFlashlight ile setOn yöntemini çağırmak ve bunu. --- Arayüz-El feneri code.google.com/p/quick-settings/source/browse/trunk/… - Class-HtcLedFlashlight code.google.com/p/quick-settings/source/browse/trunk/…
saiket

1
@saiket: hoşgeldiniz .. Sorununuz çözüldüyse bu cevabı çözülmüş olarak işaretleyin. böylece başkaları için yararlı olabilir ..
Kartik Domadiya

1
@PolamReddyRajaReddy: Samsung Device'de test yaptığınızı düşünüyorum. Doğrumuyum ?
Kartik Domadiya

7
izinler için, manifest dosyasındaki doğru kod şöyledir: `<kullanımları-izin android: name =" android.permission.CAMERA "/> <kullanımları-izin android: ad =" android.permission.FLASHLIGHT "/>`
ixeft

1
Ayrıca şunları kullanın: - camera.release ();
Chetan

35

Deneyimlerime göre, uygulamanız hem dikey hem de yatay yönde çalışacak şekilde tasarlanmışsa, değişkeni camstatik olarak bildirmeniz gerekir . Aksi takdirde, onDestroy()anahtarlama yönelimi olarak adlandırılır, onu yok eder, ancak Kamera'yı serbest bırakmaz, bu yüzden tekrar açmak mümkün değildir.

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();
    }
}
}

tezahür ettirmek için bu satırı koymak zorunda kaldım

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

dan http://developer.android.com/reference/android/hardware/Camera.html

yukarıdaki önerilen satırlar benim için çalışmadı.


Kamera kapalıysa sistem özelliğini kontrol etmenize gerek yoktur. Cam! = Null ise, açıldı
Greg Ennis

1
Benim için en yararlı kısımyou need to declare the variable cam as static
Alex Jolig

Ithalat CameraSınıfı sınıf olmasına AndroidStudio dikkat android.hardware...
AN

32

API 23 veya Üzeri (Android M, 6.0)

Kodu aç

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();
    }
}

Kodu KAPATIN

camManager.setTorchMode(cameraId, false);

Ve İzinler

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

İLAVE DÜZENLEME

İnsanlar hala cevabımı düzeltiyorlar, bu yüzden ek kod göndermeye karar verdim.

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
Ne demek "Genellikle ön kamera 0 konumunda"? Hangisinin önünde hangisinin önünde olmadığını nasıl kontrol edebilirim? BTW, ön tarafa bakan kamera mevcut kullanıcıya yönlendirilen kameradır. Arkaya bakan kamera muhtemelen her zaman flaşlı kameradır. Flaşın açık veya kapalı olduğunu nasıl kontrol edebilirim?
android geliştirici

13

AutoFlash ışığının altında basit Üç Adım var.

  • Manifest.xml dosyasına Kamera ve Flash İzni ekledim
<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" />
  • Kamera Kodunuzda bu şekilde yapın.

    //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();
  • Build + Run -> Şimdi Loş ışık alanına gidin ve Fotoğraf çekin, cihaz destekliyorsa otomatik flaş ışığı almalısınız.


9

Android Lollipop, camera2 API'sını tanıttı ve önceki kamera API'sını kullanımdan kaldırdı . Ancak, flaşı açmak için kullanımdan kaldırılmış API'yı kullanmak hala işe yarıyor ve yeni API'yi kullanmaktan çok daha basit.

Yeni API'nin özel tam özellikli kamera uygulamalarında kullanılmak üzere tasarlandığı ve mimarlarının el fenerini açmak gibi daha basit kullanım durumlarını gerçekten dikkate almadığı anlaşılıyor. Şimdi bunu yapmak için, bir CameraManager almak, sahte bir Yüzeye sahip bir CaptureSession oluşturmak ve son olarak bir CaptureRequest oluşturmak ve başlatmak gerekir. İstisna yönetimi, kaynak temizleme ve uzun geri aramalar dahildir!

Lollipop ve daha yeni bir el fenerinin nasıl açılacağını görmek için AOSP projesindeki FlashlightController'a bir göz atın (değiştirilen en yeni eski API'ları bulmaya çalışın). Gerekli izinleri ayarlamayı unutmayın.


Android Marshmallow nihayet setTorchMode ile flaşı açmanın basit bir yolunu tanıttı .


1
Eski android.hardware.Camera API'si tam olarak eskisi gibi çalışmaya devam eder, bu yüzden el feneri için android.hardware.camera2'yi kullanmanız için temel bir neden yoktur. El feneri özelliğini etkinleştirmek için aktif bir önizleme tutmanıza gerek olmadığından, kamera2 ile güç tüketimini ve CPU yükünü azaltabilirsiniz.
Eddy Talvala

İki Lollipop cihazında daha basit uygulamalardan birini denedim ve denediğim birkaç lolipop öncesi cihazda çalışmasına rağmen flaş açılmadı. Belki de Lollipop'taki bir böcek. Eski yöntemler sizin için hala çalışıyorsa ve bir Java purist değilseniz, eski API'yı çok daha basit olduğu için kullanmaya devam edin :)
LukaCiko

Şu anda Lollipop ile bir Nexus 5 var ve mükemmel çalışıyor. Ayrıca kendim tarafından oluşturulan bir uygulama var çalışır ve bu yöntemlerle uygulanır. Herkes denemek isterse. Mağaza oynamak için bir bağlantı koydum: play.google.com/store/apps/details?id=com.fadad.linterna Önemli olan, flaş ve izinleri çalıştırmadan önce kameranın etkin olduğundan veya devre dışı bırakıldığından emin olmaktır .
ferdiado

Üzgünüm, benim hatam. Eski API ile flaşı açmaya çalıştığımda başka bir uygulama muhtemelen kamerayı kullanıyordu. Cevabı güncelledim.
LukaCiko

7

Android El Feneri Uygulaması için Komple Kod

Belirgin

  <?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;
          }
      }

  }

örneğinize başlamadan önce flaş zaten açıksa, flaşı kapatmaya çalışmak işe yaramaz ... bu sorun için bir çözümünüz var mı?
Taifun

7

Farklı Android sürümlerinde Camera Flash'a erişmenin farklı yolları vardır. Lollipop'ta birkaç API çalışmayı bıraktı ve sonra Marshmallow'da tekrar değişti. Bunun üstesinden gelmek için, birkaç projemde kullandığım basit bir kütüphane oluşturdum ve iyi sonuçlar veriyor. Hala eksik, ancak kodu kontrol etmeye ve eksik parçaları bulmaya çalışabilirsiniz. İşte bağlantı - NoobCameraFlash .

Sadece kodunuza entegre etmek istiyorsanız, bunun için not kullanabilirsiniz. İşte talimatlar (doğrudan Benioku dosyasından alınmıştır) -

Adım 1. JitPack deposunu derleme dosyanıza ekleyin. Depoların sonunda kök build.gradle dosyasına ekleyin:

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

2. Adım. Bağımlılığı ekleyin

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

kullanım

NoobCameraManagerSingleton'u başlatın .

NoobCameraManager.getInstance().init(this);

Hata ayıklama günlüğü için isteğe bağlı olarak Günlük Düzeyi'ni ayarlayabilirsiniz. Günlüğe kaydetme işlemi LumberJack kitaplığını kullanır . Varsayılan LogLevelLogLevel.None

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

Bundan sonra kamera flaşını açmak veya kapatmak için singleton'u aramanız yeterlidir.

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

NoobCameraManager'ı başlatmadan önce Kamera'ya erişmek için çalışma zamanı izinlerine dikkat etmeniz gerekir. Sürüm 0.1.2 veya önceki sürümlerde, doğrudan kitaplıktan izinler için destek sağlamaktaydık, ancak Activity nesnesine bağımlılık nedeniyle bunu kaldırmamız gerekiyor.

Flash'ı da değiştirmek kolaydır

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

Lütfen Etkinlik yerine Bağlam kullanımı için destek ekleyin. Teşekkürler!
Vajira Lasantha

@VajiraLasantha Activity nesnesi izin almak için gereklidir. İzinleri bir şekilde ayırarak gereksinimi tamamen kaldırmayı planlıyordum. Burada takip edilir - github.com/Abhi347/NoobCameraFlash/issues/3 Bu arada, isterseniz gereksinimi kaldırmak için kodu değiştirebilirsiniz. Üzerinde çalışmak için biraz zamana ihtiyacım olabilir.
noob

Evet gördüm. İzin öğelerini kaldırarak lib'nizi Context ile çalışacak şekilde değiştirdim. Çünkü uygulamam zaten izin doğrulama yapıyor. Lütfen Bağlamı destekleyen uygun bir uygulama yayınladığınızda bana bildirin. Teşekkürler!
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

Cihazda birden fazla flaş varsa ne olur? Bazı ön kamera karşı karşıya var ...
android geliştirici

0

SurfaceView kullanarak parçaları aracılığıyla benim uygulamada bu işlevi uyguladık. Bu yığın akışı sorusunun bağlantısı ve yanıtı burada bulunabilir

Bu yardımcı olur umarım :)


0

Marshmallow ve üstünde, CameraManager'ın `` setTorchMode () '' cevabı gibi görünüyor. Bu benim için çalışıyor:

 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

Bunu dene.

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

Flaşı kapatmak için aşağıdaki kodu da kullanabilirsiniz.

Camera.Parameters params = mCamera.getParameters()
p.setFlashMode(Parameters.FLASH_MODE_OFF);
mCamera.setParameters(params);
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.