1. ホーム
  2. アンドロイド

[解決済み】Androidで前面フラッシュライトをプログラムで点灯させる方法は?

2022-04-01 17:35:17

質問

Androidでプログラム的にフロントフラッシュを点灯させたい(カメラのプレビューでは点灯しない)。ググってみたところ、以下のようなヘルプが見つかりました。 これ ページ

どなたか、リンクやサンプルコードをお持ちの方はいらっしゃいませんか?

解決方法は?

2021年、CameraXで、それはとても簡単なことです。 https://stackoverflow.com/a/66585201/294884


この問題の場合、あなたはすべきです。

  1. 懐中電灯があるかどうか 使えるかどうか?

  2. そうであれば、オフ/オン

  3. そうでない場合は、アプリに応じて何でもできます。 が必要です。

について フラッシュの有無の確認 を搭載しています。

を使用することができます。

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

は、フラッシュが利用可能であればtrueを、そうでなければfalseを返します。

参照してください。

http://developer.android.com/reference/android/content/pm/PackageManager.html。

フラッシュライトのON/OFF用。

ググってみたら、android.permission.FLASHLIGHTについて、こんなのが出てきました。Androidマニフェストのパーミッションは期待できそうです。

 <!-- 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 cam = Camera.open();     
Parameters p = cam.getParameters();
p.setFlashMode(Parameters.FLASH_MODE_TORCH);
cam.setParameters(p);
cam.startPreview();

カメラのLEDライトをオフにするためのコードスニペット。

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

このパーミッションを使っているプロジェクトがあるのを発見しました。quick-settingsの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 (注:このリンクは現在壊れています。)

アップデート6 この回答にあるように、SurfaceViewを追加してみるのもいいかもしれません。 Galaxy NexusのLEDフラッシュライトは、どのようなAPIで制御できますか? これは、多くの携帯電話で動作するソリューションのようです。

アップデート5 メジャーアップデート

代替リンクが見つかりました(上記のリンク切れのため)。 http://www.java2s.com/Open-Source/Android/Tools/quick-settings/com.bwx.bequick.flashlight.htm こちらのリンクからご利用いただけるようになりました。[更新: 14/9/2012 このリンクは現在壊れています].

更新情報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をON/OFFするウィジェットを開発したい場合、私の回答を参照する必要があります。 アンドロイドでカメラのフラッシュライトをON/OFFするウィジェット .

アップデート4

カメラのLEDから出る光の強さを設定したい場合は、以下を参照してください。 Android端末のLEDの明るさを変えることはできますか? をご覧ください。ただし、この機能をサポートしているのは、HTCのルート化されたデバイスのみです。

** 問題点:**。

また、フラッシュライトのオン/オフの際に、いくつかの問題があります。 FLASH_MODE_TORCH または、あっても懐中電灯が点灯しないなど。

一般的にサムスンは、多くの問題を発生させます。

下記一覧よりご参照ください。

Androidでカメラのフラッシュライトを使用する

Samsung Galaxy Ace 2.2.1 & Galaxy TabでカメラLED/フラッシュライトをON/OFFする。