Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Delphian
0 / 0 / 0
Регистрация: 14.08.2012
Сообщений: 119
#1

Android 6.0 permission - Программирование Android

03.06.2016, 10:44. Просмотров 992. Ответов 10
Метки нет (Все метки)

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

Есть вот такой перечень разрешений:

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.06.2016, 10:44
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Android 6.0 permission (Программирование Android):

Android.permission.GET_TASKS - Программирование Android
В приложениии есть сервис. Нужно чтоб а) показывал уведомление когда приложение не активно б) не показывал уведомление когда...

Публикация на google play с android.permission-group.SYSTEM_TOOLS - Программирование Android
День добрый. Пишется проект для работы которого используются пермишены android.permission-group.SYSTEM_TOOLS. Тут подсказали, что могут...

Java.lang.SecurityException: Neither user 10005 nor current process has android.permission.PACKAGE_USAGE_STATS - Программирование Android
Здравствуйте! Как повиксить? java.lang.SecurityException: Neither user 10005 nor current process has...

Permission denied (missing INTERNET permission?) - Программирование Android
В общем только учусь программированию на андройд. Вышла вот такая ошибка. Хотя в манифесте стоит запрос доступа к интернету &lt;?xml...

WRITE_SETTINGS permission - Программирование Android
Господа знатоки, в приложении на действии добавления данных в БД выходит ошибка E/AndroidRuntime: FATAL EXCEPTION: main ...

Permission Denial: receiving Intent - Программирование Android
Добрый вечер. Цель - после перезагрузки запускать Alarm, но он не запускается. System Process выдаёт вот это Manifest ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
powowstal
28 / 28 / 5
Регистрация: 21.03.2013
Сообщений: 346
03.06.2016, 12:09 #2
Delphian, https://developer.android.com/traini...ing.html?hl=ru
с 6.0 пользователь может отключать разрешения и при установке все разрешения что связаны с персональными данными будут отключатся. Теперь нужно проверять вручную включено то или иное разрешение, перед попыткой использования ф-нала который предполагает наличие разрешения. Если разрешения нет - то предложить пользователю включить его, создав окошко принятия разрешения.
0
Delphian
0 / 0 / 0
Регистрация: 14.08.2012
Сообщений: 119
03.06.2016, 16:25  [ТС] #3
powowstal, да, спасибо это я понимаю, как создать одно окошко не проблема, проблема как предложить сразу много разрешений и сделать так чтобы код был оптимальным, а не писать каждый раз один и тот же код для каждого разрешения, да и пользователя хочется напрягать минимально
0
Lemanos
12 / 12 / 6
Регистрация: 02.04.2016
Сообщений: 106
03.06.2016, 16:49 #4
Delphian,

Не по теме:

Я в эту тему случайно забрел, в самом андроиде не особо шарю, НО.
У меня на S7 вылезают отдельные окошка, даже если одно приложение хочет 3-4 разрешения. Их всех надо подтверждать отдельно. Т.к. может я хочу, чтобы дропбокс получил разрешение к фото, но я не хочу, чтобы получил доступ к контактам или там еще чему-то. Примерно так. Если я правильно понял суть темы.

0
powowstal
28 / 28 / 5
Регистрация: 21.03.2013
Сообщений: 346
04.06.2016, 17:05 #5
Delphian, чтобы не писать 1н и тот же код нужно создать функцию и вписать в нее повторяющийся код.
А на щет того чтобы все разрешения показывать в 1м окне так это по мнению гугл разработчиков "дедовская" технология, теперь нужно для каждого разрешения создавать диалоговое окно на подтверждение разрешения. И в этом есть логика, пользователь должен быть ознакомлен с каждым разрешением, а если выводятся все скопом можно потеряться от количества разрешений. Но для старперов есть лайвхак, в "гренделе" target sdk поменять на 22.
0
Delphian
0 / 0 / 0
Регистрация: 14.08.2012
Сообщений: 119
04.06.2016, 17:06  [ТС] #6
Lemanos, В этом есть конечно здравая мысль, что лучше конечно делать отдельно, обычно рекомендуют делать запрос на разрешение по мере необходимости в самой программе, так как не всегда нужны сразу все разрешения, чтобы работала программа, достаточно выводить по частям, но это разумно для очень больших программ, в которых куча функций. А если не так много разрешений, зачем десять раз спрашивать у пользователя, один раз запросил и объяснил для чего что нужно!
0
YuraAAA
1574 / 1316 / 271
Регистрация: 25.10.2009
Сообщений: 3,438
Записей в блоге: 2
04.06.2016, 18:13 #7
Delphian, а если пользователь в процессе работы отзовёт разрешение? Всё таки, лучше запрашивать разрешения тогда, когда они реально нужны
0
Delphian
0 / 0 / 0
Регистрация: 14.08.2012
Сообщений: 119
06.06.2016, 12:39  [ТС] #8
YuraAAA, коснулись достаточно сложного вопроса, и, видимо, ответ на него зависит от конкретной психологии пользователя. Мне, например, удобнее поставить сразу все необходимые галочки, чем потом десять раз добавлять необходимые разрешения. Если пользователь отверг, то можно сделать дополнительный запрос с пояснением, хотя если он будет в main activity, то не отработает возможно как положено
0
Lemanos
12 / 12 / 6
Регистрация: 02.04.2016
Сообщений: 106
06.06.2016, 12:47 #9
Цитата Сообщение от YuraAAA Посмотреть сообщение
а если пользователь в процессе работы отзовёт разрешение?
Кстати да. Я именно такой пользователь. Может слегка параноик, но разрешения на камеру и допуск к фото отбираю у незнакомых приложений...
0
Delphian
0 / 0 / 0
Регистрация: 14.08.2012
Сообщений: 119
06.06.2016, 15:40  [ТС] #10
Lemanos, а чего собственно боитесь? что кто-то сможет следить за Вашей жизнью? достанет какие-то личные фото? Так уже в 2001 году во время теракта в Америке 19 из 21 террористов были пойманы при помощи данных, которые собираются на каждого человека - телефон+кредитка+компьютер+многое другое, сейчас к этому ещё и телевизор можно добавить. Да и, например, включить микрофон можно удалённо, найти человека можно по соте в которой он находится, достать фото тоже можно разными путями
0
Lemanos
12 / 12 / 6
Регистрация: 02.04.2016
Сообщений: 106
06.06.2016, 15:48 #11
Delphian,

Не по теме:

Да нет, это не боязнь. Просто если можно увеличить шансы не попасть в "чужие руки", то я пытаюсь так и делать)) Ну и одно дело, когда за нами следят "правозащитники". А другое дело - какие-то левые чуваки, которые могут воспользоваться всем этим добром)

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.06.2016, 15:48
Привет! Вот еще темы с ответами:

Не создается папка - Permission denied - Программирование Android
Хотел создать папку или файл в /data/, но папка там не создаётся, а при попытке записи файла в /data/ выскакивает ошибка...

Откуда берутся атрибуты android:layout_width и android:layout_height в элементе LinearLayout? - Программирование Android
Недавно начал изучать Android API, а сегодня более менее разобрал основы синтакиса XML. Затем стал разбирать следующий пример: ...

Android studio, как запускать программу сразу на android смартфоне подключенному к usb? - Программирование Android
android studio, как запускать программу сразу на android смартфоне подключенному к usb?

Ошибка: Caused by Android java.lang.ClassCastException: android.app.Application cannot be cast - Программирование Android
Здравствуйте. Очень нужен ваш совет. При запуске приложения появляется ошибка: Caused by: java.lang.ClassCastException:...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
06.06.2016, 15:48
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru