1

Может кто-то пожалуйста, помогите мне понять следующее CDD требование:Android M CDD - требования разрешений во время выполнения

НЕ ДОЛЖНО предоставить какое-либо разрешение выполнения для предварительно установленных приложений, если:

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

У меня есть два вопроса: установлены

  1. Предварительно установленные приложения либо в /системы/приложения или /системы/собств-приложение папки. AFAIK, APK, которые попадают под эти две папки, автоматически получают все разрешения, которые они заявляют в своем манифесте. Пожалуйста, поправьте меня, если я ошибаюсь. Но в M они пытаются сказать, что даже если приложение является предустановленным системным приложением, пользователь должен быть запрошен во время выполнения, прежде чем приложение сможет получить это разрешение.

  2. Что такое «шаблон намерения»? Это то же самое, что приложение Dialer имеет разрешение на телефонные звонки?

ответ

4

Это может быть отчасти для ответа, но ваши оба предположения верны.

Предварительно установленные приложения, которые устанавливаются под /системы/приложения или /система/собств-приложение будут предоставлены все разрешения, которые объявлены в файле AndroidManifest.xml. Но для устройств с Android 6.0 Marshmallow Google хочет две вещи:

  1. Предустановленные приложения должны ориентироваться на Android 6.0 (API-уровень 23).
  2. Они должны запрашивать разрешения во время выполнения для dangerous permissions, которые должны выполнять несистемные приложения.

Они необходимы для предварительно установленных приложений, чтобы быть БДЗ/CTS, совместимый.

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

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

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

+0

Это блестящий ответ, точка 1/2 истинна, и вы можете попытаться обойти его, понизив цель, но тогда вы будете вынуждены ориентироваться на 23+ через CTS. благодаря – HenriqueMS