Важно (9.07.22)

Если картинки в постах не отображаются, зайдите в блог через прокси. РКН заблокировал поддомены blogger.com на которые загружались картинки.

вторник, 29 октября 2013 г.

Uses Permissions: Теория

Внимание! Старая версия заметки (статьи) более не актуальна, т.к. была написана для Delphi XE5/XE6. Это новая версия заметки (статьи), актуальна для Delphi 10.3.*. Если вы всё ещё используете версию Delphi ниже 10.3, то рекомендую перейти на новую версию!

Обновление от 13.11.19.

Статьи на тему Uses Permissions:
  1. Uses Permissions: Теория
  2. Uses Permissions: Добавляем метод onRequestPermissionsResult в приложение (для Delphi 10.1/10.2)
  3. Uses Permissions: Практика (для Delphi 10.3)

Теория.
Для правильной работы вашего приложения могут требоваться разрешения (Uses Permissions). Эти разрешения нужно указать в специальном окне, находится оно тут: Project > Options > Application > Uses Permissions. Необходимо указать разрешения для Debug (Development) и Release (Aplication Store) конфигураций.



Все выбранные разрешения добавляются в файл AndroidManifest.xml. Этот файл используется операционной системой Android и магазином Google Play, чтобы знать какие права требуются приложению и применять фильтрацию. Исходя из этого, всегда указывайте разрешения реально необходимые вашему приложению.

Например, если вашему приложению необходимо использовать Интернет, то нужно указать разрешение «Internet».

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

Например:
  • TCalendarEdit требует разрешения «Read calendar» и «Write calendar».
  • TLocationSensor требует разрешения «Access coarse location» и «Access fine location».

Примечание. Если вы хотите использовать Android API, то вероятнее всего посетите сайт developer.android.com. Там все разрешения указываются в таком виде «android.permission.INTERNET».

По умолчанию, все новые приложения имеют следующие разрешения:
  • Access coarse location
  • Access fine location
  • Call phone
  • Camera
  • Internet
  • Read calendar
  • Read external storage
  • Read phone state
  • Write calendar
  • Write external storage

Примечание. Разрешение «Internet» всегда будет установлено в конфигурации Debug (Development). Это связано с работой отладчика в RAD Studio.


Начиная с Android 6 (API 23) пользователи подтверждают разрешения во время работы приложения, а не при установке приложения. Пользователь может отменить данной ранее разрешение в любое время через настройки приложения.

Разрешения делятся на две категории: Обычные и Опасные.

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

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

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