Есть ли способ реализовать разрешение во время выполнения для приложений, нацеленных на API 14 и выше?
Если вы имеете в виду «скрыть разрешения от пользователя во время установки и запрашивать их только во время выполнения», тогда ответ будет отрицательным.
Есть ли лучший способ сделать это?
Это единственный способ сделать это и иметь все в одном приложении.
Вы можете реализовать функцию камеры как плагин с отдельным APK. Вы должны использовать безопасный IPC для связи из основного приложения с плагином (например, пользовательские разрешения signature
или собственные проверки подписи вручную). Плагин будет иметь CAMERA
и соответствующие разрешения в его манифесте; главное приложение не будет.
С положительной стороны пользователю не нужно соглашаться на эти разрешения для основного приложения, а тем, кто никогда не устанавливает плагин , никогда не должен беспокоиться о разрешениях.
Однако это усложняет:
Пользователь должен установить основное приложение и плагин, чтобы получить полный спектр функциональных возможностей вы в настоящее время есть в только одном приложении
You должны использовать PackageManager
и такие, чтобы определить, существует ли плагин и может использоваться
Вам необходимо иметь дело с некоторым количеством людей, которые установят плагин, не имея основного приложения, и задаются вопросом, t продолжается
Спасибо за понимание. Но мой фрагмент кажется неправильным. Это приводит к тому, что google play соответствует моему приложению с 0 устройствами. См. Http://stackoverflow.com/questions/33525177/why-is-my-list-of-supported-devices-empty-on-google-playstore – learner