ЗапускПриложенияМобильногоУстройства.УстановитьПараметрыВыбораПриложения

Методы · SetApplicationChoiceParameters

Устанавливает дополнительные параметры выбора для данного запуска приложения мобильного устройства. Изменяет настройки отбора, которые будут использованы для поиска приложения. Если параметры выбора установлены, они будут использованы при попытке найти приложения, которые могут обрабатывать запрос, вместо содержимого основного объекта запуска. Это позволяет разработчику создать объект запуска, содержащий общие правила, но с более точным указанием приложения. Является аналогом метода Intent.setSelector() в Android.

Синтаксис

УстановитьПараметрыВыбораПриложения(<Параметры>)
Полное описание, параметры и ограничения

ЗапускПриложенияМобильногоУстройства.УстановитьПараметрыВыбораПриложения (MobileDeviceApplicationRun.SetApplicationChoiceParameters)

ЗапускПриложенияМобильногоУстройства (MobileDeviceApplicationRun)

УстановитьПараметрыВыбораПриложения (SetApplicationChoiceParameters)

Доступен, начиная с версии 8.3.23.

Синтаксис:
УстановитьПараметрыВыбораПриложения(<Параметры>)
Параметры:

<Параметры> (обязательный)
Тип: ПараметрыВыбораЗапускаПриложенияМобильногоУстройства.
Параметры для уточнения фильтров, которые будут использованы для поиска приложения мобильного устройства при запуске с помощью методов ЗапуститьБезОжидания и ЗапуститьАсинх.
Описание:

Устанавливает дополнительные параметры выбора для данного запуска приложения мобильного устройства.
Изменяет настройки отбора, которые будут использованы для поиска приложения. Если параметры выбора установлены, они будут использованы при попытке найти приложения, которые могут обрабатывать запрос, вместо содержимого основного объекта запуска.
Это позволяет разработчику создать объект запуска, содержащий общие правила, но с более точным указанием приложения.
Является аналогом метода Intent.setSelector() в Android.

Доступность:

Мобильный клиент, мобильное приложение (клиент).

Использование в версии:

Доступен, начиная с версии 8.3.23.

Методическая информация

Практические примеры

Отделить фильтр выбора Android-приложения от передаваемого текста

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

Где и как запускать

Полный модуль своей мобильной управляемой формы. Android для Intent-параметров. Только собственные данные в памяти.

Подготовка

  1. Работайте только в отдельной конфигурации УчебнаяКонфигурацияСинтаксиса на мобильном клиенте или в мобильном приложении 1С. Для уроков параметров Android используйте именно Android, не iOS и не обычный клиент Windows.

  2. Создайте учебную управляемую форму с командой ПроверитьДанные и назначьте ей приведённый обработчик. Вставьте полный модуль одного урока. Новые объекты создаются на клиенте.

  3. Это подготовка и проверка собственных данных в памяти. Код не запускает приложение, не отправляет сообщения, не читает буфер обмена устройства, контакты или чужие файлы.

  4. Все тексты вымышлены, example.invalid — учебный URI, а не рабочий сервис. HTML состоит из собственной короткой строки без скриптов и внешних ресурсов.

  5. Названия свойств и методы сверены с установленной справкой 8.5.1.1343. Поддержка устройства и отображение Android не проверены запуском этих BSL-примеров.

&НаКлиенте
Процедура ПроверитьДанные(Команда)
    Запуск = Новый ЗапускПриложенияМобильногоУстройства("android.intent.action.SEND", "");
    Запуск.Тип = "text/plain";
    Запуск.Приложение = "";
    Запуск.ИмяКласса = "";
    Запуск.Категория = "android.intent.category.DEFAULT";
    Категории = Новый Массив;
    Категории.Добавить("android.intent.category.DEFAULT");
    Запуск.Категории = Категории;
    Дополнения = Новый ДополнительныеДанныеЗапускаПриложенияМобильногоУстройства;
    Дополнения.Добавить("android.intent.extra.TEXT", "Книга: 3 × 250 = 750. Учебные данные.");
    Запуск.ДополнительныеДанные = Дополнения;
    Фильтр = Новый ПараметрыВыбораЗапускаПриложенияМобильногоУстройства;
    Фильтр.Действие = "android.intent.action.SEND";
    Фильтр.Данные = "";
    Фильтр.Тип = "text/plain";
    Фильтр.Приложение = "";
    Фильтр.ИмяКласса = "";
    КатегорииФильтра = Новый Массив;
    КатегорииФильтра.Добавить("android.intent.category.DEFAULT");
    Фильтр.Категории = КатегорииФильтра;
    Запуск.УстановитьПараметрыВыбораПриложения(Фильтр);
    Сообщить(Фильтр.Действие = "android.intent.action.SEND");
    Сообщить(Фильтр.Данные = "");
    Сообщить(Фильтр.Тип = "text/plain");
    Сообщить(Фильтр.Приложение = "" И Фильтр.ИмяКласса = "");
    Сообщить(Фильтр.Категории.Количество() = 1);
    Сообщить(Запуск.ДополнительныеДанные.Получить("android.intent.extra.TEXT").Значение = "Книга: 3 × 250 = 750. Учебные данные.");
КонецПроцедуры

Разбор по шагам

  1. Создать описание SEND и собственные данные текста отдельно от нового объекта фильтра.

  2. В фильтре указать Действие, Данные, Тип, Приложение, ИмяКласса и массив категорий; пустые компоненты не принуждают выбор конкретного приложения.

  3. Передать фильтр методом УстановитьПараметрыВыбораПриложения, не присваивая его результат: метод ничего не возвращает.

  4. Проверить поля фильтра и убедиться, что EXTRA_TEXT в объекте запуска остался своим текстом.

  5. Ни ЗапуститьБезОжидания, ни ЗапуститьАсинх в этом опыте не вызывается.

Как проверить результат

  1. Шесть сообщений Истина: фильтр заполнен, исходный текст заказа не подменён.

  2. Выбор реального приложения и эффект фильтра на Android здесь не заявлены как проверенные.

Ожидаемый результат

Есть полный пример отдельного селектора и его установки без смешивания с полезной нагрузкой.

На что обратить внимание

  1. Этот фильтр используется при ЗапуститьБезОжидания и ЗапуститьАсинх; не переносите автоматически контракт на старый Запустить.

  2. Селектор не является ответом внешнего приложения.

  3. Конкретный Java-класс нельзя угадывать по названию программы; для реальной интеграции нужен контракт её разработчика.

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

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.