2

Я сделал простую флэш-приложение, которое переключает фонарик. Все работает нормально, но у меня есть несколько проблем с разрешением API выше 23.Разрешение камеры ниже API 23

В API 23 был добавлен новый метод обработки режима фонарика. Точнее, CameraManager.setTorchMode(String cameraId, boolean enabled). Этот новый метод не требует больше открывать камеру для обработки действий фонарика.

Моя проблема в том, что ниже API 23 этот метод не существует, поэтому мне нужно получить доступ к камере, что вынуждает меня использовать разрешение камеры: <uses-permission android:name="android.permission.CAMERA"/> в манифесте.

Но я хочу избежать запроса разрешения камеры на API выше 23, поскольку это не повлияет на функциональность приложения.

Кто-нибудь знает, как я могу запросить разрешение камеры только на API ниже 23?

+1

Возможный дубликат [запрос разрешений, основанных на уровне API] (HTTP: // stackoverflow.com/questions/38157814/request-permissions-based-on-api-level) – GSerg

+0

Это невозможно. Если вы не создадите новый apk, который работает только для API 23+. – TOP

+0

@TOP, я думал об этом, но это может быть слишком много для проверки разрешений. Я рассмотрю это только как последнее решение. –

ответ

3

Я нашел решение для этого. Кажется uses-permission позволяет для некоторой настройки, и я нашел android:maxSdkVersion свойство делать то, что я хочу.

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

Я надеюсь, что это помогает другим в подобной ситуации.

Более подробно об этом можно найти в официальной документации: uses-permission

+0

не должно быть 'android: maxSdkVersion =" 22 "'? С 23 лет у нас есть API-интерфейс CameraManager.setTorchMode. –

0

Попробуйте это разрешение в файле манифеста:
<uses-feature android:name="android.hardware.camera2"/> <uses-feature android:name="android.hardware.camera" />

+0

Как это решить мою проблему с разрешением? –

Смежные вопросы