Существует разрешение на использование и функция использования, как показано ниже:

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

Я просто не совсем понимаю атрибут "android: requiredFeature". Это тот же эффект, что и при использовании функции "android: required"? Я просто не могу найти информацию, связанную с android: requiredFeature, на сайте разработчика Android и в Google ....

1
mianlaoshu 14 Мар 2018 в 13:47

2 ответа

Лучший ответ

Да более или менее оба имеют одинаковый эффект. android:requiredFeature используется только в API уровня 26 и выше, если в вашем приложении minSdkVersion меньше 26, приложение просто проигнорирует атрибут.

<uses-permission> обычно используется для указания разрешения , которое пользователь должен предоставить для правильной работы приложения, он не обязательно используется для фильтрации приложения для устройств на Гугл игры. Если вы хотите, чтобы ваше приложение фильтровалось для устройств на основе аппаратной функции, которую использует ваше приложение, рекомендуется определить элемент <uses-feature> в вашем манифесте.

Как упоминалось в другом ответе, на основе <uses-permission> Google play может предположить, что вашему приложению требуется базовая аппаратная функция, и оно может фильтровать ваше приложение на основе этого, но это не всегда верно, ваше приложение может работать без этой аппаратной функции но он предпочитает иметь эту функцию, поэтому, чтобы избежать фильтрации на основе <uses-permission>, используется атрибут android:requiredFeature для улучшения вашего контроля над фильтрацией.

3
Sam 14 Мар 2018 в 11:31

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

В некоторых случаях разрешения, которые вы запрашиваете, могут влиять на то, как ваше приложение фильтруется в Google Play.

Если вы запрашиваете разрешение, связанное с оборудованием - например, КАМЕРА - Google Play предполагает, что вашему приложению требуется соответствующая аппаратная функция, и фильтрует приложение с устройств, которые его не предлагают.

Чтобы управлять фильтрацией, всегда явно объявляйте аппаратные функции в элементах, а не полагайтесь на Google Play для «обнаружения» требований в элементах. Затем, если вы хотите отключить фильтрацию для определенной функции, вы можете добавить в объявление атрибут android: required = "false".

Список разрешений, подразумевающих аппаратные функции, см. В документации к элементу.

От: разработчиков Android

0
Ivan 14 Мар 2018 в 10:53