Как сделать совместимость в приложении для Android - PullRequest
0 голосов
/ 06 июля 2018

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

Пожалуйста, смотрите мой файл манифеста ниже:

<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"
}   
}

Ответы [ 3 ]

0 голосов
/ 06 июля 2018

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

0 голосов
/ 09 июля 2018

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

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
}
0 голосов
/ 06 июля 2018

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

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

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

...