むしろ「やっと」と言うべきか・・・・・・。iPhoneには既に何年も前から実装されている、背面LED懐中電灯の明るさ調整機能だが、Androidには実はいまだネイティブには実装されていなかった。それが今回Android 13でやっと対応するという。
GoogleがAndroid 13に追加した2つのAPI「getTorchStrengthLevel」と「turnOnTorchWithStrengthLevel」は「CameraManager」クラスに分類され、システムとアプリの両方がさまざまなレベルで懐中電灯を制御できるようにしている。9toGoogleのDylan Roussel氏は、このAPIを使って、Pixel 6で実際に動作する簡単なデモアプリを作成し動画を公開した。以下にご紹介する9to5Googleの紹介ビデオをご覧頂きたい。彼の作成したデモアプリでは、スライダーに応じて懐中電灯の強度を変更することができている。デモでは、「0」を使用して懐中電灯を完全にオフにしている。実際に実用的な実装がなされる場合、スライダーと一緒に実際のトグルを提供する可能性があるだろう。
現在のところ、Android 13のネイティブ懐中電灯の切り替えは、オン/オフの切り替えのみとなっている。しかし、将来、Googleがこのトグルで明るさを調整できるようすることは大いにあり得るだろう。ちなみにSamsungは、クイック設定メニューのトグルを長押しすることで動作する明るさの調整機能を既に実装済だ。
ただし、 これらがAndroid 13を実行しているすべてのデバイスで機能するとは限りらない事に注意が必要だ。
「CameraCharacteristics.FLASH_INFO_STRENGTH_MAXIMUM_LEVEL」は、懐中電灯を設定できる最高の設定を決定する。
どういうことかというと、例えば最大レベルが「1」しかないデバイスの場合、明るさのコントロールではなく、オン/オフのトグルとしてしか機能しないことになる(0か1か、オンオフかということだ)が、Pixel 6 Proのように最大レベルが「128」あるデバイスでは、0から128の間で細かく輝度を変えることが出来ると言うことだ。しかし、例えば最大レベルが「10」のデバイスでは、最大輝度自体は128のデバイスと同じ最大輝度を達成することができるが、その間の細かな調整には対応せず、10段階の明るさ切り替えしか出来ないと言うことになる。実際の端末で言うと、Samsungでは、Galaxy S22+などのデバイスで5段階の輝度しかサポートしていない。
更に注目すべきは、Pixel 6とPixel 6 Proは、Android 13 Developer Previewでこれらの新しいAPIのHAL(ハードウェア抽象化レイヤー)サポートを実施しているが、Pixel 5やPixel 4 XLはサポートがないため、テストアプリを使用することができなかったことだ。Android 13でこの機能をサポートするには、ICameraDeviceのバージョン3.8が必要となる。
残念ながら、この必要なアップグレードは、「ICameraDevice」のアップデートが現在Googleでは要求していないため、Android 13にアップグレードされる多くのデバイスがフラッシュライトの輝度変更には対応しない事を意味している。しかし、Android 13で起動するデバイスが、将来的にこの機能をサポートし、GoogleがAndroid 13にアップグレードされるPixel(Pixel 4およびそれ以降)にもサポートを追加する可能性は残っているだろう。
コメントを残す