Автозапуск для приложений устройств UWP

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

Примечание.

Для всех типов автозапуска не требуется использовать метаданные устройства. Без метаданных устройства автозапуск позволяет предоставить приложение в качестве параметра, когда пользователь подключает устройство к компьютеру. Сюда входят устройства, не относящиеся к томам, такие как камера или проигрыватель мультимедиа, или устройства тома, такие как USB-диск, SD карта или DVD-диск. Автозапуск также позволяет зарегистрировать приложение в качестве параметра, когда пользователи совместно используют файлы между двумя компьютерами с помощью близкого взаимодействия (касание). Но приложение не может устанавливаться автоматически без метаданных устройства. Дополнительные сведения об использовании автозапуска, если метаданные устройства не требуются, см. в статье "Автоматическое запуск с помощью автозапуска".

Обзор автозапуска

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

  • Только приложение устройства UWP может обрабатывать активацию автозапуска для устройства (поддерживается в Windows 8, Windows 8.1).

  • Другие приложения UWP могут обрабатывать активацию AutoPlay для вашего устройства (только в Windows 8.1).

  • Приложение устройства UWP и другие приложения UWP могут обрабатывать активацию автозапуска для устройства (поддерживается только в Windows 8.1).

В этом примере показано диалоговое окно автозапуска для приложения с именем Contoso Dashboard , зарегистрированное в качестве обработчика автозапуска для устройства Contoso Pedometer :

example autoplay dialog for a device.

При использовании метаданных устройства с приложением AutoPlay поддерживает следующие типы устройств:

Класс устройства Автозапуск, поддерживаемый в Windows 8 Автозапуск, поддерживаемый в Windows 8.1
Цифровая камера autoplay is supported for this device class in windows 8. autoplay is supported for this device class in windows 8.1
Цифровой камкордер видео autoplay is supported for this device class in windows 8. autoplay is supported for this device class in windows 8.1
Переносимый проигрыватель мультимедиа autoplay is supported for this device class in windows 8. autoplay is supported for this device class in windows 8.1
Мобильный телефон autoplay is supported for this device class in windows 8. autoplay is supported for this device class in windows 8.1
Широкополосное мобильное подключение autoplay is not supported for this device class in windows 8. autoplay is not supported for this device class in windows 8.1
Веб-камера autoplay is not supported for this device class in windows 8. autoplay is not supported for this device class in windows 8.1
Устройство пользовательского интерфейса (HID) autoplay is not supported for this device class in windows 8. autoplay is supported for this device class in windows 8.1
Принтеры, сканеры, факс autoplay is not supported for this device class in windows 8. autoplay is not supported for this device class in windows 8.1
ПК autoplay is not supported for this device class in windows 8. autoplay is not supported for this device class in windows 8.1
Смарт-карта autoplay is not supported for this device class in windows 8. autoplay is supported for this device class in windows 8.1
Общий порт autoplay is not supported for this device class in windows 8. autoplay is supported for this device class in windows 8.1
Устройство Bluetooth autoplay is not supported for this device class in windows 8. autoplay is not supported for this device class in windows 8.1

Подготовка к работе

Включение автозапуска

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

Включение автозапуска с помощью мастера разработки метаданных устройства**

  1. Запустите мастер разработки метаданных устройства из %ProgramFiles(x86)%\Windows Kits\8.1\bin\x86, дважды щелкнув DeviceMetadataWizard.exe.

  2. Нажмите кнопку "Изменить метаданные устройства". Это позволит изменить существующий пакет метаданных устройства.

  3. В диалоговом окне "Открыть" найдите пакет метаданных устройства, связанный с приложением устройства UWP. (Он имеет расширение файла devicemetadata-ms .)

  4. (Необязательно.) Если у вас нет имени пакета приложения устройства, имени издателя и идентификатора приложения, щелкните "Сведения о приложении", чтобы просмотреть сведения о упаковке для приложения устройства UWP.

  5. Щелкните Windows Info , чтобы указать сведения об автозапуске.

  6. Если вы хотите указать приложение, которое будет обработчиком автозапуска по умолчанию для устройства, выберите "Использовать приложение устройства UWP". Вы можете выбрать любое приложение UWP или приложение устройства UWP, но это приложение должно обработать активацию Автозапуска для устройства и указать соответствующий идентификатор интерфейса в манифесте пакета приложения (как указано в следующей процедуре).

    • Имя пакета: в манифесте пакета приложения это атрибут Name элемента Identity.

    • Имя издателя: в манифесте пакета приложения это атрибут Publisher элемента Identity.

    • Идентификатор приложения: в манифесте пакета приложения это атрибут идентификатора элемента Application.

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

    • Тип события автозапуска: оставьте это как устройство. В метаданных устройства мастер автоматически укажет идентификатор интерфейса, связанный с приложением устройства UWP.

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

  8. Закончив, нажмите кнопку Далее.

  9. Когда вы увидите страницу "Готово ", запишите идентификатор интерфейса. Это потребуется в следующей процедуре при обработке активации автозапуска в приложении.

  10. Проверьте сведения о сохранении и нажмите кнопку "Сохранить", чтобы обновить пакет метаданных устройства.

Обработка активации автозапуска

Чтобы обработать активацию Автозапуска в приложении, необходимо зарегистрировать расширение windows.autoPlayDevice в манифесте пакета приложения, а затем обработать это событие в OnActivated случае объекта Application. Обратите внимание, что приложение может зарегистрировать в качестве обработчика автозапуска для нескольких устройств.

Регистрация приложения в качестве обработчика автозапуска

Чтобы зарегистрировать приложение в качестве обработчика автозапуска для устройства, необходимо указать идентификатор интерфейса, связанный с приложением устройства UWP, и автозапуски ActionDisplayName, который будет использоваться для активации приложения.

  1. Откройте проект приложения в Microsoft Visual Studio.

  2. В Обозреватель решений щелкните правой кнопкой мыши файл Package.appxmanifest и выберите view Code. Откроется манифест пакета приложения в редакторе XML (текст).

  3. В элементе Application под элементом VisualElements вставьте следующий Extensions элемент в файл манифеста пакета.

          <Extensions>
            <Extension Category="windows.autoPlayDevice">
              <AutoPlayDevice>
                <LaunchAction
                    Verb="showDevice1"
                    ActionDisplayName="Launch App for Device 1"
                    DeviceEvent="ExperienceID:{00000000-ABCD-EF00-0000-000000000000}"/>
              </AutoPlayDevice>
            </Extension>
          </Extensions>
    
  4. Замените значения автозапуска из этого примера фактическими значениями для приложения:

    • Verb: это идентификатор активации Автозапуска. Приложение будет использовать его для определения того, поступила ли активация с устройства. Если приложение было указано в качестве обработчика автозапуска по умолчанию для устройства, это значение должно соответствовать команде, указанной в метаданных устройства. Если приложение не было указано в качестве обработчика автозапуска по умолчанию для устройства, можно использовать любое значение для параметра команды, за исключением открытого, который зарезервирован.

    • ActionDisplayName: строка, отображаемая автозапуском для приложения.

    • Experience ID: ИДЕНТИФИКАТОР интерфейса, который связывает приложение с вашим устройством. Это значение, записанное в предыдущей процедуре.

Обработка активации автозапуска

Когда устройство активирует активацию AutoPlay, тип активации будет.Windows.ApplicationModel.Activation.ActivationKind.device Используйте объект, переданный eventObjOnActivated в проверка активации приложения. Если это было из автозапуска, можно использовать eventObj для определения идентификатора устройства и команды автозапуска, вызвавшей активацию.

В этом примере параметр события активации (eventObj) содержит идентификатор устройства, а также команду для активации.

<!DOCTYPE html>
<html>
<head>
  <script type="text/javascript">
    function OnActivated(eventObj) {
        if (eventObj.kind == Windows.ApplicationModel.Activation.ActivationKind.launch) {
            // Activated by the user.
        }
        else if (eventObj.kind == Windows.ApplicationModel.Activation.ActivationKind.device) {
            // Activated by a device, for AutoPlay.
            // Device path = eventObj.deviceInformationId;
            // verb ("showDevice1") = eventObj.verb;
        }
    }

    Windows.UI.WebUI.WebUIApplication.addEventListener("activated", OnActivated, false);
  </script>
</head>

<body>
...
...
...
</body>
</html>

Знакомство с приложениями устройств UWP

Создание пошагового приложения устройства UWP

Запуск приложения с помощью автозапуска

Launching, resuming, and multitasking