Разрешения, используемые только в обработчиках по умолчанию

Некоторые основные функции устройства, такие как чтение журналов вызовов и отправка SMS-сообщений, зависят от доступа к конфиденциальной информации пользователя. Чтобы защитить конфиденциальность пользователей и предоставить им больший контроль над информацией, которую они предоставляют приложениям на своем устройстве, Google Play ограничивает доступ приложений к группам разрешений, связанных с вызовами и сообщениями.

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

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

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

Просмотр и изменение набора обработчиков по умолчанию

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

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

Снимок экрана с настройками приложений по умолчанию
Рисунок 1. Экран настроек системы, показывающий список обработчиков по умолчанию на устройстве.
Снимок экрана с настройками приложения SMS по умолчанию
Рисунок 2. Экран настроек системы, показывающий, как изменить обработчик SMS по умолчанию.

Следуйте требованиям для обработчиков по умолчанию.

Учитывая конфиденциальную информацию пользователя, к которой приложение получает доступ, выступая в качестве обработчика по умолчанию, ваше приложение не может стать обработчиком по умолчанию, если оно не соответствует следующему списку Play Store и требованиям к основным функциям:

  • Ваше приложение должно иметь возможность выполнять функции, для которых оно является обработчиком по умолчанию. Например, обработчик SMS по умолчанию должен иметь возможность отправлять текстовые сообщения.
  • Ваше приложение должно предоставлять политику конфиденциальности.
  • Основные функции вашего приложения должны быть четко указаны в описании Play Store. Например, обработчик телефона по умолчанию должен описать в описании свои возможности, связанные с телефоном.
  • Ваше приложение должно объявлять разрешения, соответствующие его варианту использования. Дополнительные сведения о том, какие разрешения вы можете объявить в качестве определенного обработчика, см . в руководстве по использованию групп разрешений SMS или журнала вызовов в Справочном центре Play Console.
  • Ваше приложение должно запросить возможность стать обработчиком по умолчанию, прежде чем оно запрашивает разрешения, связанные с этим обработчиком. Например, приложение должно запросить возможность стать обработчиком SMS по умолчанию, прежде чем запрашивать разрешение READ_SMS .

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

Снимок экрана, показывающий диалоговое окно с пользователем
Рис. 3. Подсказка с вопросом о том, хотят ли они изменить обработчик SMS на своем устройстве по умолчанию.

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

Котлин

val setSmsAppIntent = Intent(Telephony.Sms.Intents.ACTION_CHANGE_DEFAULT)
setSmsAppIntent.putExtra(Telephony.Sms.Intents.EXTRA_PACKAGE_NAME, packageName)
startActivityForResult(setSmsAppIntent, your-result-code)

Ява

Intent setSmsAppIntent =
        new Intent(Telephony.Sms.Intents.ACTION_CHANGE_DEFAULT);
setSmsAppIntent.putExtra(Telephony.Sms.Intents.EXTRA_PACKAGE_NAME,
        getPackageName());
startActivityForResult(setSmsAppIntent, your-result-code);