Могу ли я не запрашивать разрешения во время выполнения на зефире?

Теперь это что-то очень интересное для меня, я знаю в основном о разрешениях во время выполнения, и я хорошо осведомлен о почему предложены разрешения во время выполнения? и как мы можем их использовать? но в href="https://stackoverflow.com/q/38411199/5476209">этот вопрос, который касается проблемы, возникающей из-за этого разрешения во время выполнения. Парень предложил довольно новый способ решения этой проблемы. .

См. ответ U.swap на тот же вопрос,вот этот ответ.

Этот парень предложил хорошее и работающее решение, при котором пользователь должен утвердить разрешения только один раз, и всю оставшуюся жизнь ему не нужно беспокоиться обо всех разрешениях во время выполнения, и приложение будет работать на версиях зефира и предварительных версиях. версии зефира, как обсуждалось в комментариях, видят все комментарии, обсуждавшиеся между мной и Commonsware.

@NiteshPareek: в этом ответе нет ничего, что мешало бы запуску приложения на устройствах Android 6.0+ — Commonsware

но это означает, что мы можем обойти безопасность, предлагаемую разрешениями во время выполнения? @CommonsWare — коснитесь пармара

@Tapanparmar: Нет, поскольку пользователи могут вручную отозвать разрешения в настройках. Наличие targetSdkVersion 22 или ниже означает, что ваше приложение не будет иметь кода разрешения во время выполнения, поэтому пользователь должен согласиться с запрошенными вами разрешениями во время установки. Так работал Android с самого начала. – CommonsWare

ОК, так что приложение будет работать на зефире без отображения разрешений? @CommonsWare — Тапан Пармар

@Tapanparmar: пользователю будут предоставлены разрешения во время установки приложения. – CommonsWare

Хорошо, так что мы можем пропустить эти чертовы разрешения, предоставляемые этим, но есть ли какие-либо недостатки при этом? @CommonsWare

@Tapanparmar: пользователи могут отказаться от установки вашего приложения, если им не нравится предоставлять все разрешения заранее. Кроме того, могут быть утеряны другие варианты поведения, которые могут потребоваться на основе более высоких значений targetSdkVersion. Если у вас есть дополнительные вопросы, задайте отдельный вопрос о переполнении стека – CommonsWare

Итак, я хочу знать, есть ли какие-либо настоящие недостатки? И что произойдет с безопасностью, которая была основной целью RunTimePermissions. И действительно ли это предпочтительнее?

См. комментарии здесь на ответ или см. изображение ниже

Комментарии к обсуждению




Ответы (1)


есть ли реальные недостатки в этом?

Пользователи могут решить не устанавливать ваше приложение, если им не нравится предоставлять все разрешения заранее. Кроме того, могут быть утеряны другие варианты поведения, которые могут потребоваться на основе более высоких значений targetSdkVersion.

И что будет с безопасностью, которая была основной целью RunTimePermissions?

Ничего такого. Вам по-прежнему нужны все элементы <uses-permission>, и пользователь по-прежнему должен дать согласие на предоставление вам разрешений. Однако это соглашение возникает в основном во время установки, а не при запуске приложения. Имейте в виду, что пользователи устройств Android 6.0+ по-прежнему могут отозвать разрешения уровня dangerous через приложение «Настройки».

И действительно ли это предпочтительнее?

ИМХО, нет. В конце концов, что-то вынудит вас и потребует обновить ваш targetSdkVersion. И, как я уже отмечал, пользователи могут предпочесть не устанавливать ваше приложение, установив другое приложение, которое не запрашивает много разрешений во время установки. Использование targetSdkVersion ниже 23 — хороший ответ для приложений, которые больше не поддерживаются, или для неопытных разработчиков.

person CommonsWare    schedule 16.07.2016
comment
Довольно мило. и понятный @Commonsware - person TapanHP; 16.07.2016