AutoPlay für UWP-Geräte-Apps

Gerätehersteller können ihre UWP-Geräte-App als Handler für AutoPlay für ihr Gerät angeben. Sie können auch andere UWP-Apps als Handler für AutoPlay für ihr Gerät fungieren lassen. In diesem Thema wird beschrieben, wie Sie den Assistenten zum Erstellen von Gerätemetadaten verwenden, um AutoPlay zu aktivieren. Außerdem wird beschrieben, wie Aktivierungen von AutoPlay in Ihrer App behandelt werden. Weitere Informationen zu Geräte-Apps finden Sie unter Meet UWP-Geräte-Apps.

Hinweis

Sie müssen keine Gerätemetadaten für alle Arten von AutoPlay verwenden. Ohne Gerätemetadaten können Sie mit AutoPlay Ihre App als Option bereitstellen, wenn ein Benutzer ein Gerät mit einem PC verbindet. Dazu gehören Nicht-Volume-Geräte wie eine Kamera oder ein Mediaplayer oder Volume-Geräte wie ein USB-Stick, eine SD-Karte oder eine DVD. Mit AutoPlay können Sie Ihre App auch als Option registrieren, wenn Benutzer Dateien zwischen zwei Computern mithilfe von Näherung (Koppeln) freigeben. Ihre App kann jedoch nicht automatisch ohne Gerätemetadaten installiert werden. Weitere Informationen zur Verwendung von AutoPlay, wenn Keine Gerätemetadaten erforderlich sind, finden Sie unter Automatisches Starten mit AutoPlay.

Übersicht über AutoPlay

Abhängig von der Version Ihrer App können Sie AutoPlay auf folgende Weise aktivieren:

  • Nur Ihre UWP-Geräte-App kann die Aktivierung von AutoPlay für Ihr Gerät verarbeiten (unterstützt in Windows 8, Windows 8.1).

  • Andere UWP-Apps können die Aktivierung von AutoPlaye für Ihr Gerät verarbeiten (nur unter Windows 8.1 unterstützt).

  • Ihre UWP-Geräte-App und andere UWP-Apps können die Aktivierung von AutoPlay für Ihr Gerät verarbeiten (nur unter Windows 8.1 unterstützt).

Dieses Beispiel zeigt ein Dialogfeld AutoPlay für eine App mit dem Namen "Contoso Dashboard ", die als Handler für AutoPlay für das Contoso-Pedometergerät registriert wurde:

example autoplay dialog for a device.

Wenn Sie Gerätemetadaten mit Ihrer App verwenden, unterstützt AutoPlay die folgenden Gerätetypen:

Geräteklasse In Windows 8 unterstütztes AutoPlay In Windows 8.1 unterstütztes AutoPlay
Digitale Standbildkameras autoplay is supported for this device class in windows 8. autoplay is supported for this device class in windows 8.1
Digitaler Video-Camcorder autoplay is supported for this device class in windows 8. autoplay is supported for this device class in windows 8.1
Tragbarer Media Player autoplay is supported for this device class in windows 8. autoplay is supported for this device class in windows 8.1
Mobiltelefon autoplay is supported for this device class in windows 8. autoplay is supported for this device class in windows 8.1
Mobiles Breitband autoplay is not supported for this device class in windows 8. autoplay is not supported for this device class in windows 8.1
Webcam autoplay is not supported for this device class in windows 8. autoplay is not supported for this device class in windows 8.1
Eingabegerät (Human Interface Device, HID) autoplay is not supported for this device class in windows 8. autoplay is supported for this device class in windows 8.1
Drucker, Scanner, Fax autoplay is not supported for this device class in windows 8. autoplay is not supported for this device class in windows 8.1
PC autoplay is not supported for this device class in windows 8. autoplay is not supported for this device class in windows 8.1
Smartcard autoplay is not supported for this device class in windows 8. autoplay is supported for this device class in windows 8.1
Allgemeiner Port autoplay is not supported for this device class in windows 8. autoplay is supported for this device class in windows 8.1
Bluetooth-Gerät autoplay is not supported for this device class in windows 8. autoplay is not supported for this device class in windows 8.1

Voraussetzungen

  • Stellen Sie sicher, dass Sie über den Assistenten für die Erstellung von Gerätemetadaten verfügen. Dieser ist erforderlich, um AutoPlay zu aktivieren. In dieser Version ist dieser Assistent in Microsoft Visual Studio Professional und Microsoft Visual Studio Ultimate enthalten. Wenn Sie jedoch Microsoft Visual Studio Express für Windows haben, müssen Sie das eigenständige SDK für Windows 8.1 herunterladen, um den Assistenten zu erhalten.

  • Ordnen Sie Ihre App dem Microsoft Store zu. Sie benötigen die Paketinformationen Ihrer App, um AutoPlay zu aktivieren. Weitere Informationen finden Sie im Abschnitt "Zuordnen Ihrer App zum Microsoft Store " in Schritt 1: Erstellen einer UWP-Geräte-App.

  • Erstellen Sie die Gerätemetadaten. Wenn Sie das noch nicht begonnen haben, lesen Sie Schritt 2: Erstellen von Gerätemetadaten in der Schrittweisen Anleitung zum Erstellen einer UWP-Geräte-App .

AutoPlay aktivieren

Mit dem Assistenten zum Erstellen von Gerätemetadaten können Sie Ihre UWP-App als Standard-AutoPlay-Handler für Ihr Gerät deklarieren. Sie können auch andere UWP-Apps als Handler für AutoPlay für ihr Gerät fungieren lassen. Sie können eine dieser Optionen oder beide Optionen auswählen.

So aktivieren Sie AutoPlay mit dem Assistenten zum Erstellen von Gerätemetadaten**

  1. Starten Sie den Assistenten für die Erstellung von Gerätedaten aus %ProgramFiles(x86)%\Windows Kits\8.1\bin\x86, indem Sie auf DeviceMetadataWizard.exe doppelklicken.

  2. Klicken Sie auf Gerätemetadaten bearbeiten. Dadurch können Sie Ihr vorhandenes Gerätemetadatenpaket bearbeiten.

  3. Suchen Sie im Dialogfeld Öffnen das Gerätemetadatenpaket, das Ihrer UWP-Geräte-App zugeordnet ist. (Es verfügt über die Dateierweiterung devicemetadata-ms.)

  4. (Optional.) Wenn Sie nicht über den Paketnamen, den Herausgebernamen und die App-ID Ihrer Geräte-App verfügen, klicken Sie auf App-Info, um die Paketinformationen für Ihre UWP-Geräte-App anzuzeigen.

  5. Klicken Sie auf Windows Info, um Details für AutoPlay anzugeben.

  6. Wenn Sie eine App als Standard-AutoPlay-Handler für Ihr Gerät festlegen möchten, wählen Sie UWP-Geräte-App verwenden. Sie können eine beliebige UWP-App oder UWP-Geräte-App auswählen, diese App muss jedoch die AutoPlay-Aktivierung für Ihr Gerät übernehmen und die entsprechende Erlebnis-ID im App-Paketmanifest angeben (wie im nächsten Verfahren angegeben).

    • Paketname: Im App-Paketmanifest ist dies das Name-Attribut des Identity-Elements.

    • Name des Veröffentlichers: Im App-Paketmanifest ist das Name-Attribut des Identity-Elements.

    • App-ID: Im App-Paketmanifest ist dies das ID-Attribut des Anwendungselements.

    • Verb: Dies ist der Bezeichner für die Aktivierung von AutoPlay. Ihre App verwendet sie, um festzustellen, ob die Aktivierung von Ihrem Gerät stammt. Für die Einstellung „Verb“ kannst du einen beliebigen Wert verwenden. Die einzige Ausnahme ist open, dieser Wert ist reserviert.

    • AutoPlay Ereignistyp: Lassen Sie dies als Gerät. In den Gerätemetadaten gibt der Assistent automatisch die Erfahrungs-ID an, die Ihrer UWP-Geräte-App zugeordnet ist.

  7. Wenn Sie möchten, dass andere Apps als AutoPlay-Handler für Ihr Gerät fungieren, wählen Sie AutoPlay für registrierte Apps aktivieren.

  8. Wenn Sie fertig sind, klicken Sie auf Weiter.

  9. Wenn die Seite Fertig stellen angezeigt wird, notieren Sie sich die Erfahrungs-ID. Sie benötigen sie im nächsten Verfahren, wenn Sie die Aktivierung von AutoPlay in Ihrer App behandeln.

  10. Überprüfen Sie Ihre Speicherinformationen und klicken Sie auf Speichern , um das Gerätemetadatenpaket zu aktualisieren.

Behandeln der Aktivierung von AutoPlay

Um eine Aktivierung von AutoPlay in Ihrer App zu behandeln, müssen Sie sich für eine windows.autoPlayDevice Erweiterung im App-Paketmanifest registrieren und dieses Ereignis dann im OnActivated Falle des Application-Objekts behandeln. Beachten Sie, dass Ihre App als Handler für AutoPlay für mehrere Geräte registrieren kann.

So registrieren Sie Ihre App als Handler für AutoPlay

Um Ihre App als AutoPlay-Handler für Ihr Gerät zu registrieren, müssen Sie die mit Ihrer UWP-Geräte-App verknüpfte Erlebnis-ID sowie das AutoPlay- Verb und ActionDisplayName angeben, das zur Aktivierung Ihrer App verwendet wird App.

  1. Öffnen Sie das Projekt Ihrer App in Microsoft Visual Studio.

  2. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf die Datei Package.appxmanifest, und wählen Sie Code anzeigen aus. Dadurch wird das App-Paketmanifest im XML-Editor (Text) angezeigt.

  3. Fügen Sie im Element Application unterhalb des Elements VisualElements das folgende Element Extensions in Ihre Paketmanifestdatei ein.

          <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. Ersetzen Sie die Werte für AutoPlay aus diesem Beispiel durch die tatsächlichen Werte für Ihre App:

    • Verb: Dies ist der Bezeichner für die Aktivierung von AutoPlay. Ihre App verwendet sie, um festzustellen, ob die Aktivierung von Ihrem Gerät stammt. Wenn Ihre App als Standardhandler für AutoPlay für Ihr Gerät angegeben wurde, sollte dieser Wert mit dem Verb übereinstimmen, das Sie in den Gerätemetadaten angegeben haben. Wenn Ihre App nicht als Standard-AutoPlay-Handler für Ihr Gerät angegeben wurde, können Sie einen beliebigen Wert für die Verb-Einstellung verwenden, mit Ausnahme von Öffnen, der reserviert ist.

    • ActionDisplayName: Die Zeichenfolge, die AutoPlay für Ihre App anzeigt.

    • Experience ID: Die Benutzeroberflächen-ID-GUID, die Ihre App Ihrem Gerät zuordnet. Dies ist der Wert, den Sie im vorherigen Verfahren notiert haben.

So behandeln Sie die Aktivierung von AutoPlay

Wenn Ihr Gerät eine AutoPlay-Aktivierung auslöst, ist die Aktivierungsart Windows.ApplicationModel.Activation.ActivationKind.device. Verwenden Sie das eventObj übergebene OnActivated Objekt, um zu überprüfen, wie Ihre App aktiviert wurde. Wenn sie von AutoPlay stammt, können eventObj Sie ermitteln, welche Geräte-ID und welches Verb für AutoPlay die Aktivierung verursacht hat.

In diesem Beispiel trägt der Aktivierungsereignisparameter (eventObj) die Geräte-ID sowie das Verb für die Aktivierung.

<!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>

Lernen Sie UWP-Geräte-Apps kennen

Erstellen Sie Schritt für Schritt eine UWP-Geräte-App

Automatisches Starten mit automatischer Wiedergabe

Launching, resuming, and multitasking