Android 13 добавляет нативную поддержку яркости фонарика, вот как это работает [Видео]

Уже много лет iPhone и даже Android-смартфоны Samsung поддерживают возможность регулировки яркости светодиодного фонарика на задней панели телефона. Теперь, в Android 13, Google наконец-то предоставляет эту возможность регулировки яркости фонарика нативно, и мы смогли ее опробовать.

Google добавила два новых API в Android 13. «getTorchStrengthLevel» и «turnOnTorchWithStrengthLevel» входят в класс «CameraManager» и позволяют как системе, так и приложениям управлять фонариком на различных уровнях. Это отличается от того, как было раньше, когда Android позволял только включать/выключать фонарик.

Эта функция уже активна и работает в Android 13, и наш Дилан Руссел смог быстро создать демонстрацию, чтобы показать ее в действии на Pixel 6 (любезно предоставлено Дэмиеном Уайлдом, который запускал предварительную версию на своем Pixel 6). В его базовом демонстрационном приложении мы можем изменять интенсивность фонарика с помощью ползунка, при этом «0» полностью отключает фонарик в нашей демонстрации. Более полная реализация этого может предложить фактический переключатель наряду с ползунком.

На сегодняшний день нативный переключатель фонарика в Android 13 по-прежнему является обычным переключателем включения/выключения. Но нетрудно представить, что в будущем Google позволит регулировать яркость с помощью этого переключателя. Samsung реализует эту опцию долгим нажатием на переключатель в своем меню быстрых настроек.

Реклама — прокрутите для просмотра дополнительного контента

Как отмечают специалисты из Esper, это может работать не на всех устройствах, работающих под управлением Android 13. «CameraCharacteristics.FLASH_INFO_STRENGTH_MAXIMUM_LEVEL» определяет самый высокий уровень, на который может быть установлен фонарик, что, в свою очередь, также определяет, насколько детальной может быть настройка.

На практике это означает следующее. Если устройство имеет максимальный уровень «1», то оно будет работать только как переключатель включения/выключения вместо регулировки яркости, тогда как устройство с максимальным уровнем «128», такое как Pixel 6 Pro, будет поддерживать множество уровней контроля яркости. Другое устройство с максимальным уровнем «10» достигнет той же максимальной яркости, что и устройство с 128, но не будет иметь того же детального уровня контроля, с большими скачками между каждой настройкой яркости. Samsung, в частности, поддерживает только 5 уровней яркости на таких устройствах, как Galaxy S22+.

Примечательно, что Pixel 6 и Pixel 6 Pro имеют поддержку HAL (hardware abstraction layer) для этих новых API в Android 13 Developer Preview, но мы не смогли использовать наше тестовое приложение на Pixel 5 или Pixel 4 XL, потому что эти устройства не имеют такой поддержки. Для поддержки этой функции в Android 13 требуется версия 3.8 ICameraDevice.

К сожалению, это необходимое обновление, вероятно, означает, что многие устройства, обновляемые до Android 13, не будут поддерживать изменение яркости фонарика, поскольку обновление «ICameraDevice» в настоящее время не является обязательным требованием Google. Однако устройства, запускаемые с Android 13, будут поддерживать эту функцию, и вполне возможно, что Google добавит поддержку на Pixel-ах, обновляемых до Android 13 (Pixel 4 и новее).

Дилан Руссел и Дэмиен Уайлд внесли свой вклад в эту статью

Больше об Android 13: