Подтвердить что ты не робот

Приложение не доступно для Nexus 7 в Google Play

Мне известно о доступности камеры на Nexus 7, поэтому я изменил свой манифест, сделав требуемое разрешение следующим:

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

Приложение по-прежнему недоступно. В этот момент я смущен из документа, в котором говорится о uses-feature, а не user-permission:

Помните, какие системные функции, которые вы объявляете (или подразумеваете), требуется для запуска вашего приложения, или Play Store не сделает ваш приложение доступно пользователям Nexus 7. Всегда объявлять аппаратные средства функции, которые не критичны для вашего приложения, как требуется = "false", тогда обнаруживать во время выполнения, если функция присутствует и постепенно повышается Функциональность

Какая сделка здесь? Я смущен различием функций и разрешений.

4b9b3361

Ответ 1

uses-feature объявляет, какие типы оборудования/программного обеспечения доступны в вашем приложении. Вы можете использовать это, чтобы автоматически сузить, на какие типы устройств он появится. Вы можете объявить любую из этих функций как необязательную, если приложение сможет функционировать без них и предназначено для обработки ситуаций, в которых эта функция недоступна (например, с Nexus 7, как вы упомянули).

uses-permission объявляет, какие типы функций разрешено использовать вашему приложению. Если вы объявите разрешение, как вы это сделали, он позволяет пользователю узнать "Эй, этому приложению разрешено использовать мою камеру", и они могут решить, одобрять ли это использование. Вы не можете отметить разрешение как необязательное.

Вместо этого вы должны оставить атрибут required от тега uses-permission и добавить еще один тег для камеры с uses-feature, и в этом теге отметьте его как required="false". Например:

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

РЕДАКТИРОВАТЬ: Чтение этого документа, возможно, вам также придется добавить:

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

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