Intereting Posts
Как получить значение пользовательского атрибута из XML-сообщения XMPP? Как добиться анимации TextInputLayout при вводе первого символа, а не в получении фокуса? Android: обнаружение, если ListView имеет полосу прокрутки (после установки новых данных) Невозможно получить целевые фильтры из пакета Невозможно сделать дочерний вид более широким, чем родительский, в макете Android Кордова Ионная: Включите мобильную клавиатуру Android android Диагностика сбоя сигнала тревоги на HTC One / lollipop Использование MediaCodec для сохранения серии изображений в виде видео Как эмулировать выгрузку фонового приложения на ОС Android? Как обращаться с различиями базы данных JonesTime и Android в часовом поясе? Android Studio Path (ANDROID-HOME) не может установить? Android Camera Server Died и Camera Error – 100 Java.lang.NullPointerException: CameraUpdateFactory не инициализируется исключение logcat Синхронизировать устройства Android через время GPS? Доступ к идентификатору / имени пользователя учетной записи Google через Android

Дополнительные разрешения, чтобы приложение отображалось на всех устройствах и включало дополнительные функции на некоторых устройствах?

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

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

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

Какое общее решение для этой проблемы?

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

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

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

Да, я знаю. Возможно ли иметь «необязательные» разрешения в Android? Это аналогичный вопрос. Я надеюсь на более новую информацию и на другие обходные пути, которые нашли люди, если они есть … Каково решение этой проблемы? Есть ли у кого-нибудь другие подходы помимо тех, которые я перечислил выше?

Какое общее решение для этой проблемы?

Для этой конкретной задачи добавьте в манифест, добавьте <uses-feature android:name="android.hardware.telephony" android:required="false"/> , чтобы указать, что эта функция не является обязательной . Затем вы можете использовать hasSystemFeature() и hasSystemFeature() чтобы определить, имеет ли устройство не требуемую функцию во время выполнения.