Многие функции в Android требуют, чтобы в манифесте было установлено разрешение на использование.Эти значения затем определяют, какие устройства увидят их в Маркете.Однако что делать, если эта функция является необязательной ... если она может быть запущена на многих устройствах, но требует разрешения только на нескольких устройствах?
Пример: скажем, приложение с несколькимифункции и хорошее количество контента - и это обеспечивает кнопку для вызова компании.Это хорошая удобная функция, в отличие от записи номера или копирования и вставки его в телефонное приложение.Однако это не существенно.
Если эта функция используется и разрешение на добавление телефонии добавлено в приложение, то это хорошо для телефонов - но ни один планшет не увидит приложение в Маркете.
Каково общее решение этой проблемы?
Несколько приложений могут быть созданы с разными разрешениями, но с этим подходом существует множество проблем (дополнительное время разработки, сложность поддержания согласованности обслуживания, обзоры и оценки, распределенные по разным приложениям, и, если есть несколько разных типовнеобязательных разрешений, отличных от разных приложений, для каждой комбинации).
Приложение может программно проверить, доступна ли эта функция, и включить или отключить ее в зависимости от устройства.Проблема заключается в том, что если приложение не имеет разрешения, то оно рухнет, если оно попытается использовать эту функцию - и если у него есть разрешение, некоторые устройства не смогут найти приложение вMarket.
В некоторых случаях может быть возможно полностью исключить из приложения несущественные функции, чтобы избежать этой проблемы.Это также не очень хорошее решение, поскольку эти функции «были бы хороши» на устройствах, которые его поддерживают.
Да, я в курсе Возможно ли иметь «дополнительные» разрешения в Android? это похожий вопрос.Я надеюсь на более свежую информацию и на другие обходные пути, которые нашли люди, если таковые имеются ... каково решение этой проблемы?У кого-нибудь есть другие подходы, кроме тех, которые я перечислил выше?