Разрешения приложений на Андроид и как ими управлять

Далеко не всегда устройства с операционной системой Android используются как персональный гаджет. Иногда они служат одной конкретной бизнес-цели, и необходимость в предустановленных свойствах девайса отпадает.

Предисловие

Цель данного поста — с одной стороны поделиться своим успешным опытом старта разработки приложений на платформе Android и с другой стороны поспособствовать развитию рынка софта для этой замечательной и бурно растущей платформы за счёт (без ложной скромности скажу) возможно Вас, прочитавших данный пост. В сети, конечно, можно найти материалы на тему разработки приложения «чуть сложнее, чем helloworld», но как правило они разрозненные и в них не описываются различные мелкие подводные камешки. В данном посте мы рассмотрим полный цикл разработки приложения, начиная с чистого компьютера до готового apk-файла. Под катом скрины.

Рекомендуем также

Apk Manager 5.1 Rus

Apk Manager может распаковывать, компилировать, декомпилировать и тд. программы для Android….

Внутренности андроида (вскрываем робота)

Тебя никогда не интересовало, как работают fastboot или ADB? Или почему смартфон под…

Свита Короля

Обзор must have инстpyментов для рутованного Android Любой андроидовод знает, что такое root, а…

Проблемы, которые могут возникнуть при перепрошивке

Итак, теперь поговорим о том, какие проблемы могут возникнуть при получении root и перепрошивке и…

Инструменты для управления устройством: Device policy controller и Android Management API

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

Написание собственного DPC довольно трудозатратно, т.к. включает в себя написание целого приложения, единственная функция которого — ограничивать возможности пользователя при работе с устройством. Кроме того, любые изменения в политике устройства придётся внедрять в коде, что повлечет за собой выпуск новой версии этого приложения.

Чтобы упростить жизнь разработчикам таких решений, Google в 2017 году выпустил свой DPC, который называется Android Device Policy и управляется с помощью Android Management API. Чтобы использовать Android Management API, нужно выполнить несколько шагов:

  1. Создать сервисный аккаунт. Этот шаг является опциональным и нужен для вызова методов API из кода (с бэкенда или из web-консоли, которую также нужно писать самим), поскольку такие вызовы требуют аутентификации через OAuth.
  2. Создать организацию (enterprise). Как следует из названия, это ресурс, который представляет собой организацию. Чтобы создать такой ресурс, нужен Gmail-аккаунт, не привязанный ни к какой организации. Enterprise состоит из политик (policies) и устройств (devices).
  3. Создать политику (policy). Это тот самый набор правил и ограничений, который будет применен к устройству. Когда мы изменяем что-либо в policy, все устройства, к которым она применена, автоматически обновляют своё состояние в соответствии с изменениями без каких-либо дополнительных действий с нашей стороны.
  4. Зарегистрировать устройство (device). Чтобы применить созданную политику к устройству, нужно создать EnrollmentToken, привязанный к выбранной policy. Затем устройство нужно сбросить к заводским настройкам, т.к. установить DPC в качестве Device owner’а можно только в момент первичной настройки системы. Это работает для устройств с ОС Android 6.0 и выше, подробности можно найти в официальной документации. Самый простой способ передать токен на устройство — сформировать QR-код на его основе. JSON для формирования QR-кода можно получить из поля qrCode у ресурса EnrollmentToken. Чтобы отсканировать QR-код, нужно тапнуть 6 раз в одном и том же месте на первом экране, появившемся после сброса заводских настроек (обычно на нём мы выбираем язык), после чего будет предложено подключиться к интернету и скачать сканер QR-кодов. Если же этот способ не сработал на выбранном устройстве, можно дойти до этапа ввода данных Google-аккаунта и ввести туда afw#setup.

Google предоставляет несколько опций, позволяющих пользоваться Android Management API. Самый простой способ выполнить все эти шаги — пройти интерактивный quickstart guide. Для обращения к API из кода можно использовать одну из библиотек на Java, .NET, Python, или Ruby.

К чему приводит разрешение?

Устанавливая определенные программы, пользователи должны знать, к чему приводит разрешение:

  1. СМС. Разрешение на доступ к сообщениям просят не все приложения. Давая разрешение, стоит знать, что утилита будет сохранять и просматривать сообщения. А в некоторых смс могут содержаться конфиденциальные данные о пользователе.
  2. Камера. Некоторым приложениям нужен доступ к камере. В этом случае программа получает доступ к камере только при ее запуске. Хакеры могут украсть данные QR-кода.
  3. Контакты. Доступ к адресной книге могут просить только определенные программы. Если софт не работает с адресной книгой, то нет смысла давать ему разрешение.
  4. Местоположение. Доступ к местонахождению могут просить только те приложения, которые работают с картой. А остальным давать доступ к местонахождению необязательно.
  5. Микрофон. После получения разрешения программы могут прослушивать пользователя через микрофон. Обычно прослушивание нужно для отправки голосового сообщения или совершения звонка через мессенджеры. При разговоре в реальном режиме софты могут включить рекламный ролик.
  6. Доступ к списку вызовов. Дав разрешение, пользователь позволяет утилитам следить и просматривать журнал вызовов в любое время.
  7. Хранение данных. Управление всеми данными на смартфоне стоит доверять только проверенным приложениям.
К чему приводит разрешение?

Если владелец не пользуется смартфоном определенное время, устройство переходит в режим сна. Благодаря режиму процессор отключает определенную часть ядер и тем самым экономит энергию. Большинство приложений должны остановить свою работу, если не имеет доступа к режиму «сна». Разрешение могут получить только почтовые приложения и мессенджеры, социальные сети. Но всем подряд разрешения давать не стоит. Некоторые приложения могут привести к нагреву или рассылать спам-сообщения.

Читайте также:  Ошибка синхронизации аккаунта Google на Андроид

Также не стоит предоставлять приложению доступ к автозапуску систем. Обычно такой доступ нужен для приложений-оптимизаторов. Риск заключается в том, что, получив разрешение, некоторый софт может внести изменения в конфигурационные файлы. К примеру, поставить запрет на запуск антивируса или ввести вредоносный код в систему. Доступ к автозапуску нужно предоставлять только проверенным программам.

А вы читаете правила, перед тем, как давать разрешение приложениям?

К чему приводит разрешение?

Что нужно знать мобильному дизайнеру

Колористика

— искусство сочетания цветов.

Например, вместе не рекомендуется использовать зелёный и красный — насыщенные цвета, которые как бы перекрикивают друг друга. Получается вырвиглазный интерфейс, отсутствует контрастность и объекты трудно различить на экране. Для несочетаемых цветов дизайнеры даже придумали определение «зелубой» (зелёный + голубой).

Для подбора цвета часто используют специальные палитры или цветовые круги — например, Material palette, Adobe Color.

Что нужно знать мобильному дизайнеру

Также можно брать на заметку палитры готовых продуктов. Например, в Америке существует определённый культ кроссовок, где их покупают не ради замены старой пары, а, скорее, с эстетической точки зрения. Поэтому некоторые экземпляры можно назвать источником вдохновения для дизайнеров, которые используют цветовые схемы кроссовок для своих продуктов.

Распределение цветов можно настроить с помощью Color tool (Material Design)

Типографика

— умение оформлять текст при помощи набора и вёрстки.

По сути дизайн — это оформление контента, 80% которого передаётся через текст. Любая информация располагается в виде иерархии — главная и второстепенная части, которые выделяются с помощью определённой стилизации текста.

Например, уровни заголовков — заголовок 1-го или 2-го уровня — различаются по размеру шрифта и служат навигацией, а также делают материал структурированным.

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

Что нужно знать мобильному дизайнеру

Композиция

— умение грамотно управлять объектами в пространстве. Какие размеры объекта, отступы между объектами и краями экрана, расстояния и связи между объектами позволят создать гармоничную композицию для лучшего восприятия объектов.

Как надо и не надо выравнивать текст и изображения

Если говорить о том, как колористика, типографика и композиция влияют на поведение пользователя и эффективность интерфейса, то стоит упомянуть про четыре типа нагрузок.

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

⇒ Чем больше мозгу требуется усилий для определения объекта, тем больше мы устаём.

Визуальные нагрузки — усилия для определения объекта на экране по визуальным признакам (круг, небо, кошка) и выделения его среди других.

Что нужно знать мобильному дизайнеру

⇒ Чем больше объектов в интерфейсе, тем больше мы устаём.

Моторные нагрузки — возникают при физическом контакте с интерфейсом: свайп, тап и другие.

⇒ Чем больше жестов управления интерфейсом и чем они сложнее, тем больше мы устаём.

Внешние нагрузки — возникают при взаимодействии пользователя с приложением (собака залаяла, машина проехала, пошёл дождь). Эти нагрузки сложно точно предугадать — можно лишь предположить, в каких условиях будет использоваться приложение чаще всего.

Читайте также:  Инструкция по входу в MyKeenetic для роутера Zyxel

⇒ Чем больше отвлекающих моментов, тем больше мы пытаемся сосредоточиться и быстрее устаём.

Все типы нагрузок идут в связке, влияя друг на друга.

К примеру, если приложение предназначено для пожарных, которые часто находятся в стрессовых ситуациях, нужен максимально понятный интерфейс — у них нет времени разбираться в чём-то сложном. А если пользователь — офисный сотрудник, который заходит в приложение, чтобы убить время по дороге на работу, то можно добавить больше контента или функций, чтобы пользователь увлёкся и провёл в приложении больше времени.

Что нужно знать мобильному дизайнеру

Инструменты

Из графических редакторов сейчас популярны Figma, Sketch или Adobe XD.

Figma

Кросс-платформенный онлайн-редактор, который работает на Windows, macOS, Linux. В нём можно работать всей командой, в том числе с заказчиками. Бесплатный для одного пользователя и платный для работы с командой, если нужно видеть все действия команды, а не только за последние 30 дней.

Sketch

Платный графический редактор для macOS. Плюс Sketch в том, что на рынке он дольше Figma, поэтому в некоторых случаях возможностей и интеграций для него находится больше. Но если вы фрилансер, работать с заказчиками будет непросто, поскольку это не кросс-платформенный инструмент. В Sketch можно работать в офлайне.

Adobe XD

Что нужно знать мобильному дизайнеру

Приложение Adobe для проектирования интерфейсов. Плюсы и минусы аналогичны Sketch, кроме того, что в Adobe XD есть возможность создавать голосовые прототипы при помощи Amazon Alexa. XD заметно менее популярен по сравнению с Figma и Sketch.

Графические редакторы достаточно похожи, поэтому, если освоить один инструмент, то изучение другого не займёт много времени.

Из других инструментов дизайнера можно отметить:

Управление временем «сна»

Любой смартфон и планшет по истечению определенного времени уходит в «сон». Это позволяет процессору отключить половину своих ядер, начав тем самым экономить энергию. Большинство приложений не способно пробудить устройство, их работа приостанавливается. Если только программа не получила разрешение на работу даже во время «сна».

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

Если его получит вредоносная программа, то она сможет вести какие-либо вычисления даже в фоне. Например, в якобы спящем режиме смартфон из-за этого приложения будет рассылать спам-рассылку или даже майнить криптовалюту. В некоторых случаях это будет приводить к нагреву устройства. И практически всегда такие действия зловредной программы снижают время автономной работы.

Предупреждение

Традиционно, мы предупреждаем, что не несём никакой душераздирающей, физической, физиологической, юридической и иной ответственности за то, что Вы там наворотили своими руками, в рамках этой (и не только) статьи.

Предупреждение

Полный отказ от ответственности описан у нас здесь.

Предупреждение

Что касается возможных побочных эффектов, — тут всё просто. В некоторых случаях всё конечно идет здорово, весело и всячески на пользу. Производительность растёт, ускорение присутствует, PUBG летает, лаунчер телефона счастлив безмерно, а Вы, как его владелец, — пишите хорошие комментарии под этой статьёй, рассказываете о ней друзьям и всё такое прочее-разное.

Предупреждение

Во всех остальных же случаях, стоит понимать, что многое зависит от железа в Вашем Android-телефоне, планшете или на чём Вы там планируете всё это запускать и использовать, — так тут вопрос техники.

Предупреждение

И да, стоит понимать, что производительность может снизиться, а расход батареи увеличится. Как это исправить? Вернуть всё назад, настройки отключить.

Предупреждение

Как узнать разрешение экрана на Android-устройстве

Определив ширину и высоту пикселей дисплея, пользователь может решить, в “какую сторону” их изменять.

Как узнать разрешение экрана на Android-устройстве

С помощью скриншота

Как узнать разрешение экрана на Android-устройстве

Сделайте снимок рабочего стола и проверьте данные о файле:

Как узнать разрешение экрана на Android-устройстве
  1. Зажмите клавишу блокировки и качель уменьшения громкости.
  2. Откройте «Галерею» или ее аналог.
  3. Перейдите в папку «Screenshots».
  4. Зажмите палец на снимке и разверните меню «Еще».
  5. Тапните по «Детали».
  6. Данные будут указаны в «Разрешение».
Как узнать разрешение экрана на Android-устройстве

Или:

Как узнать разрешение экрана на Android-устройстве
  1. Откройте «Проводник».
  2. Найдите подпапку «Screenshots», находится в папке «DCIM» или «Pictures».
  3. Выделите скрин, зажав на нем палец, тапните «Еще» и выберите «Свойства».
  4. Данные указаны в разрешении.
Как узнать разрешение экрана на Android-устройстве

Официальные характеристики

Как узнать разрешение экрана на Android-устройстве

Подробную информацию об экране указывают в ТХ устройства в интернет-магазинах.

Как узнать разрешение экрана на Android-устройстве

Интересно! Значение PPI — указывает на плотность пикселей и чем выше этот параметр, тем “четче” изображение (нет зернистости).

Как узнать разрешение экрана на Android-устройстве

AIDA64

Как узнать разрешение экрана на Android-устройстве

Приложение собирает подробную информацию об устройстве:

Как узнать разрешение экрана на Android-устройстве
  1. Откройте «Play Market».
  2. Вбейте «AIDA64» в поиск.
  3. Нажмите «Установить».
  4. Откройте софт и перейдите в «Отображение».
  5. Обратите внимание на «Разрешение экрана» и «Плотность пикселей».
Как узнать разрешение экрана на Android-устройстве

Новая система разрешения приложений Android

Приложения для Android 6.0 теперь будут спрашивать разрешения, когда они в них нуждаются. Например, вместо того, чтобы дать разрешение на доступ к камере при установке приложения, Вам будет предложено разрешить доступ к камере при первом запуске этого приложения.

Читайте также:  Что такое синхронизация в телефоне андроид

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

Новая система разрешения приложений Android

Управление разрешениями Android приложения

Для этого Вам потребуется Android 6.0 Marshmallow или более новая версия на Вашем устройстве.

Откройте «Настройки», нажмите на пункт «Приложения», который находится в разделе «Устройство».

Новая система разрешения приложений Android

Вы увидите список всех приложений, установленных на Вашем Android устройстве. Нажмите на приложение в списке, чтобы просмотреть дополнительную информацию. На экране информации о приложении Вы увидите пункт «Разрешения», в котором перечислены все разрешения, к которым приложение имеет доступ. Нажмите на «Разрешения».

Вы также можете быстро перейти к информации о приложении, нажав и удерживая иконку приложения, перетащить ее на ярлык «О приложении», который появится вверху экрана. Этот ярлык может отсутствовать на некоторых устройствах, так как производители и операторы могут использовать различный интерфейс.

Вернемся к разрешениям. Здесь будут отображаться различные разрешения, например, контакты, телефон, SMS и другие. Приложения для старых версий Android автоматически получат все требуемые разрешения при установке, но Вы можете выключить разрешения по желанию.

Новая система разрешения приложений Android

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

Старые приложения не рассчитаны на эту функцию, и они, как правило, просто предполагают, что имеют доступ к любым функциям, которые им требуются. В большинстве случаев после отключения разрешений приложения работают стабильно. В некоторых случаях отключение разрешения может привести к сбою, в этом случае просто включите разрешение снова. Например, если Вы отключение разрешение на доступ к камере для приложения, которое предназначено для фотографирования, то приложение больше не сможет делать фотографии. Вы не получите сообщение о том, что необходимо снова дать разрешение на работу с камерой. Поэтому управление разрешениями Android это полезная, но, в некотором роде, опасная функция.

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

Новая система разрешения приложений Android

Вы также можете зайти в меню, которое располагается в правом верхнем углу на данном экране, и нажать «Все разрешения». Здесь можно увидеть все разрешения, которые выданы приложению. Android скрывает некоторые разрешения. Как видите, управление разрешениями Android приложений распространяется не на все категории.

Имейте ввиду, что при обновлении приложение может получить разрешение не спрашивая Вас об этом. Например, если некоторое приложение может использовать чтение контактов и Вы разрешите использовать «Телефон», то после обновления приложение может получить разрешение на телефонный вызов, что в последствие может стоить Вам потерянных денег. Так как телефонный вызов является частью разрешения «Телефон», то дополнительных запросов на разрешение совершать звонки не будет. Вы можете просмотреть, что означают каждые разрешения на сайте Google.

Просмотр и управление разрешениями Android для всех приложений

Новая система разрешения приложений Android

Для просмотра и управления разрешениями для всех приложений сразу, откройте Настройки и перейдите в Приложения. В правом верхнем углу нажмите на иконку шестеренки и нажмите на пункт «Разрешения приложений».

Вы увидите список разрешений и количество приложений, которые имеют доступ к этим разрешениям. Категории включают в себя SMS, Календарь, Камера, Контакты, Местоположение, Микрофон, Нательные датчики, Память, Телефон и некоторые дополнительные разрешения.

Для просмотра приложений, использующих категорию разрешений, нажмите на нее. Например, чтобы увидеть какие приложения имеют доступ к данным календаря, нажмите на «Календарь». Чтобы запретить приложению доступ к календарю, отключите его на данном экране.

Новая система разрешения приложений Android

При отключении разрешения Вы увидите предупреждение о том, что приложение было разработано для старых версий Android.

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

Источник

Новая система разрешения приложений Android

Для чего создана технология

Поскольку точка активируется при непосредственной близости смартфона/планшета с модулем, данная технология со временем займет свою нишу в следующих областях:

  • считывание личной информации при получении доступа к аккаунтам, счетам, банковским картам и так далее;
  • бесконтактная оплата;
  • программирование девайса на определенные действия при прикосновении к NFC.

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