Comments 13
В статье не рассмотрены примеры работы с новым механизмом разрешений.
Рассмотрим, например, работу Google Keep — программу от разработчиков системы разрешений можно взять за образец работы с оной. Этот Google Keep, например, при старте проверяет, что Google Play Services имеет все запрошенные разрешения, и закрывается, если у того нет, например, разрешения работать с камерой/микрофоном.
Этот же Google Keep прекрасно работает, если разрешение отобрано не через стандартный механизм разрешений, а через CyanogenModов'овский Privacy Guard, про который Keep не знает.
TL; DR: Best practices от гугла подразумевают, что надо требовать включить все разрешения и не запускаться, пока все они не будут получены.
Рассмотрим, например, работу Google Keep — программу от разработчиков системы разрешений можно взять за образец работы с оной. Этот Google Keep, например, при старте проверяет, что Google Play Services имеет все запрошенные разрешения, и закрывается, если у того нет, например, разрешения работать с камерой/микрофоном.
Этот же Google Keep прекрасно работает, если разрешение отобрано не через стандартный механизм разрешений, а через CyanogenModов'овский Privacy Guard, про который Keep не знает.
TL; DR: Best practices от гугла подразумевают, что надо требовать включить все разрешения и не запускаться, пока все они не будут получены.
Пара скриншотов взята как раз из Keep. Он определенно точно не запрашивает вообще все нужные ему разрешения при старте, некоторые запрашиваются в процессе работы, в этом и суть нового api.
У меня запрашивает и всегда с момента установки M запрашивал ¯\(ツ)/¯
http://imgur.com/WcWtMFh
по cancel — весь Keep закрывается, диалог возникает при открытии любой активити Keep'а.
Суть API я понимаю, пассаж был про то, что по моему опыту, дажи корифеи разработки под андроид не всегда утруждают себя следованием этой сути.
http://imgur.com/WcWtMFh
по cancel — весь Keep закрывается, диалог возникает при открытии любой активити Keep'а.
Суть API я понимаю, пассаж был про то, что по моему опыту, дажи корифеи разработки под андроид не всегда утруждают себя следованием этой сути.
Best practices от гугла подразумевают, что надо требовать включить все разрешения и не запускаться, пока все они не будут получены.
Могли бы вы указать где это подразумевается в Best practices?
В android 5.1 уже давно пользуюсь контролем разрешений (не сторонним), точно так же правила на приложения ставятся. Либо с шестой версии, как написано, что-то другое появилось, либо оно уже было в 5.1. Lenovo A2010
Скорее всего у вас все-таки некая надстройка от создателей прошивки.
Подобным образом реализовано у Meizu, тоже android 5.1, но в случае запрета, разработчику никак не отловить этот запрет и приложение крашится. По крайней мере не находил решение для этого случая.
Таки да, это особенность прошивки (Lenovo Vibe UI). Почему-то считал раньше, что на леново голый андроид стоит
Sign up to leave a comment.
Android runtime permissions. Почему, зачем и как