Использует функцию Android:required="false" игнорируется

В моем файле AndroidManifest.xml у меня есть эти 2 строки:

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

Но потом, когда я загружаю в Google Play, это означает, что камера требуется. И если я использую инструмент AAPT, он показывает: "использует-функция: имя ='android.hardware.camera'"

Кто-нибудь знает, почему он игнорирует мой код и требует, чтобы на устройстве была камера?

Изменить: вот весь мой раздел "использует" для справки:

<uses-permission                        android:name="android.permission.CAMERA" />
<uses-feature android:required="false"  android:name="android.hardware.camera" />
<uses-feature android:required="false"  android:name="android.hardware.camera.autofocus" />
<uses-feature android:required="false"  android:name="android.hardware.camera.front"/>

<uses-permission                        android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-feature android:required="false"  android:name="android.hardware.WRITE_EXTERNAL_STORAGE" />

<uses-permission                        android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-feature android:required="false"  android:name="android.hardware.READ_EXTERNAL_STORAGE" />

<uses-permission                        android:name="android.permission.READ_PHONE_STATE"/>
<uses-feature android:required="false"  android:name="android.hardware.READ_PHONE_STATE"/>

<uses-permission                        android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-feature android:required="false"  android:name="android.hardware.ACCESS_NETWORK_STATE"/>

<uses-permission                        android:name="android.permission.INTERNET" />
<uses-feature android:required="false"  android:name="android.hardware.INTERNET" />

<uses-permission                        android:name="android.permission.FLASHLIGHT" />
<uses-feature android:required="false"  android:name="android.hardware.FLASHLIGHT" />

<uses-permission                        android:name="android.permission.VIBRATE" />
<uses-feature android:required="false"  android:name="android.hardware.vibrate" />

<uses-permission                        android:name="android.permission.CALL_PHONE" />
<uses-feature android:required="false"  android:name="android.hardware.CALL_PHONE"/>

<uses-permission                        android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission                        android:name="asn.apps.asncrm.permission.C2D_MESSAGE" />
<uses-permission                        android:name="com.google.android.c2dm.permission.SEND" />
<uses-permission                        android:name="android.permission.WAKE_LOCK" />

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

2 ответа

Попробуйте добавить этот дополнительный тег в манифест Android:

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

Это объясняется тем, что, согласно документам, android.permission.CAMERA разрешение подразумевает, что необходимы следующие 2 функции: android.hardware.camera а также android.hardware.camera.autofocus,

[EDITED]

Кроме того, если у вас есть <uses-library> Тэги в вашем манифесте, одна из библиотек может потребовать функцию камеры.

В моем приложении, где я хочу переопределить разрешение камеры, т.е. сделать приложение доступным для устройств без камеры, я объявляю разрешения для манифеста, как показано ниже. Я проверил, что приложение доступно в магазине игр на устройствах без камеры.

Не уверен, поможет ли это вам решить вашу проблему (поскольку вы упомянули об использовании сторонней библиотеки), но, пожалуйста, попробуйте и дайте мне знать.

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

<uses-feature
    android:name="android.permission.CAMERA"
    android:required="false" /> // this is the one I have extra, please add and test

<uses-feature
    android:name="android.hardware.camera"
    android:required="false" />
<uses-feature
    android:name="android.hardware.camera.autofocus"
    android:required="false" />
Другие вопросы по тегам