1

Есть ли способ реализовать разрешение во время выполнения для приложений, нацеленных на API 14 и выше? Мое приложение имеет функцию камеры, но это не требуется. Как указать это в манифесте? Прямо сейчас у меня естьРазрешение на выполнение до android M (api 14 и выше)

<uses-permission android:name="android.permission.CAMERA"/> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 
    <uses-permission android:name="android.permission.RECORD_AUDIO"/> 

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

Есть ли лучший способ сделать это?

ответ

1

Есть ли способ реализовать разрешение во время выполнения для приложений, нацеленных на API 14 и выше?

Если вы имеете в виду «скрыть разрешения от пользователя во время установки и запрашивать их только во время выполнения», тогда ответ будет отрицательным.

Есть ли лучший способ сделать это?

Это единственный способ сделать это и иметь все в одном приложении.

Вы можете реализовать функцию камеры как плагин с отдельным APK. Вы должны использовать безопасный IPC для связи из основного приложения с плагином (например, пользовательские разрешения signature или собственные проверки подписи вручную). Плагин будет иметь CAMERA и соответствующие разрешения в его манифесте; главное приложение не будет.

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

Однако это усложняет:

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

  • You должны использовать PackageManager и такие, чтобы определить, существует ли плагин и может использоваться

  • Вам необходимо иметь дело с некоторым количеством людей, которые установят плагин, не имея основного приложения, и задаются вопросом, t продолжается

+0

Спасибо за понимание. Но мой фрагмент кажется неправильным. Это приводит к тому, что google play соответствует моему приложению с 0 устройствами. См. Http://stackoverflow.com/questions/33525177/why-is-my-list-of-supported-devices-empty-on-google-playstore – learner

Смежные вопросы