【Android】スマートフォンの光センサー(輝度センサー)のセンサー値によりカメラのライトを点灯させる

投稿日:2021年1月23日
最終更新日:2021年1月23日

Androidスマホの光センサーで明るさを感知してライトを消灯/点灯させる

前々回はスマホの照度センサーのセンサー値を画面に表示した。そして前回はスマホのライトをボタンで点灯させてみた。今回はその2つの合わせ技で、センサー値が設定した閾値いかになったら(暗くなったら)ライトを点灯させてみた。

 

環境

開発PC環境

Windows 10
Android Studio 4.1.1

実行Android環境

機種:Xperia X Performance SOV33

Androidバージョン:7.0

 

Kotlinのコードとレイアウト

今回は参考文献のコードを参考に以下のようにKotlinのコードを書いた。例外処理など全然考慮してないが一応私の環境では安定して動いている。ライトを点灯させる閾値は実機の動作を見て20に設定しているが、閾値も画面上で設定できるようにしたらより便利かも。

こちらがレイアウトのxml。

 

動かしてみた結果

以下が動かしてみた結果の動画。光センサーを隠すと、輝度が落ちてライトが点灯する。逆に光センサーに光が当たるようにすると、輝度が上がってライトが消灯する。

こちらが実行中の画面。ライトの点灯・消灯状況を表示するようにしてみる。

ちなみに、このアプリの起動中にスマホのデフォルト機能でライトを点灯・消灯させたりすると動作が不安定になる。もしアプリとしてリリースするならそのあたりをもっと少ししっかり作り込む必要があるとは思うが、ひとまず自分がやりたいことはできたので満足。

 

参考文献

今回は以下のサイトを参考にさせて頂きましたm(_ _)m

環境センサー | Android デベロッパー | Android Developers

センサーの概要 | Android デベロッパー | Android Developers

[Android] カメラのライト制御 (パーミッション不要)

1タップでライトをON/OFFする

 

Androidアプリをつくって遊ぼう日記まとめ

以下にAndoirdアプリで遊んでみた軌跡を残しています。興味があればのぞいてみてください。

【Android】Androidアプリをつくって遊ぼう日記


投稿者: wakky

映画と旅行が大好きなエンジニア。お酒、ゲーム、読書も好き。

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください