Как сделать совместимость в приложении для Android

Я начинаю Android Developer. Я создал простое приложение для Android, которое использует вспышку с камеры. Я создал это приложение для API менее 23, и он работал, но затем я меняю камеру на камеру2 и перестраиваю приложение. Но моя проблема - мое приложение совместимо только для примерно 5 тыс. Устройств. Старая версия совместима для примерно 13 тыс. Устройств. Я думаю, я смутился с разрешением или функцией. Пожалуйста, дайте совет, что не так.

См. Мой файл манифеста ниже:

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

<uses-feature android:name="android.hardware.camera" android:required="false" />
<uses-feature android:name="android.hardware.camera.flash" android:required="false" />

<uses-permission android:name="android.hardware.camera.flash"/>

<application...>

И build.gradle

android {
compileSdkVersion 26
buildToolsVersion '25.0.3'
defaultConfig {
    applicationId "com..."
    minSdkVersion 23
    targetSdkVersion 26
    versionCode 24
    versionName "2.3"
}   
}

android,android-permissions,android-camera2,

1

Ответов: 3


0

Это просто потому, что чем выше целевое api, тем меньше количество совместимых устройств.

Если это только фонарик, я бы продолжал использовать старую версию, ну, по крайней мере, это то, что я сделал с моим приложением для фонариков.

Не забудьте спросить разрешения на sdk 23 и выше.


0

minsdkversion должно быть низким. установите около 21, чтобы получить больше совместимости с устройством. он поддерживает выше леденец устройства, если вы используете 21.


0

вы можете использовать обе библиотеки, и вы можете вызвать метод, сравнив версию. для вашей помощи это способ достичь этого.

if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP){
    // Do something for lollipop and above versions
} else{
    // do something for phones running an SDK before lollipop
}
андроид, андроид-разрешения, андроид-Camera2,
Похожие вопросы