Language: HTML | XAML

So wird’s gemacht: Deklarieren von Hintergrundaufgaben im App-Manifest (XAML)

Applies to Windows and Windows Phone

Sie können die Verwendung von Hintergrundaufgaben aktivieren, indem Sie diese im App-Manifest als Erweiterungen deklarieren. Jede Hintergrundaufgabe muss im Anwendungsmanifest als Erweiterung deklariert werden. Geschieht dies nicht, kann Ihre App die Hintergrundaufgaben nicht registrieren (eine Ausnahme wird ausgelöst). Zudem müssen Hintergrundaufgaben im Anwendungsmanifest deklariert werden, um zertifiziert zu werden.

Wissenswertes

Technologien

  • Manifest-Designer von Microsoft Visual Studio

Voraussetzungen

  • In diesem Thema wird davon ausgegangen, dass Sie eine oder mehrere Hintergrundaufgabenklassen erstellt haben und dass Ihre App die Hintergrundaufgabe so registriert, dass sie als Reaktion auf mindestens einen Auslöser ausgeführt wird.

Anweisungen

Schritt 1: Manuelles Hinzufügen von Erweiterungen

Öffnen Sie das Anwendungsmanifest, und wechseln Sie zum "Application"-Element. Erstellen Sie ein "Extensions"-Element (sofern nicht bereits eines vorhanden ist).

Der folgende Ausschnitt stammt aus dem Hintergrundaufgabenbeispiel:



    <Application Id="BackgroundTaskSample.App" Executable="BackgroundTaskSample.exe" EntryPoint="BackgroundTaskSample.App">
      <VisualElements DisplayName="BackgroundTaskSample" Logo="Images\squareTile-sdk.png" SmallLogo="Images\smallTile-sdk.png" Description="BackgroundTaskSample" ForegroundText="dark" BackgroundColor="#222222">
        <LockScreen Notification="badgeAndTileText" BadgeLogo="images\badgelogo.png" />
        <DefaultTile ShowName="allLogos" WideLogo="images\tile-sdk.png" />
        <SplashScreen Image="Images\splash-sdk.png" BackgroundColor="#FFFFFF" />
      </VisualElements>

      <Extensions>

          <!-- TODO: Add elements here -->

      </Extensions>

    </Application>


Schritt 2: Hinzufügen einer Erweiterung für eine Hintergrundaufgabe

Deklarieren Sie Ihre erste Hintergrundaufgabe.

Kopieren Sie diesen Code in das "Extensions"-Element (Attribute werden in den folgenden Schritten hinzugefügt).



      <Extensions>

        <Extension Category="windows.backgroundTasks" EntryPoint="">
          <BackgroundTasks>
            <Task Type="" />
          </BackgroundTasks>
        </Extension>

      </Extensions>

  1. Ändern Sie das "EntryPoint-"-Attribut so, dass diese Zeichenfolge von Ihrem Code als Einstiegspunkt verwendet wird, wenn Sie Ihre Hintergrundaufgabe registrieren (namespace.classname).

    In diesem Beispiel ist "ExampleBackgroundTaskNameSpace.ExampleBackgroundTaskClassName" der Einstiegspunkt:

    
          <Extensions>
    
            <Extension Category="windows.backgroundTasks" EntryPoint="Tasks.ExampleBackgroundTaskClassName">
              <BackgroundTasks>
                <Task Type="" />
              </BackgroundTasks>
            </Extension>
    
          </Extensions>
    
    
  2. Ändern Sie die Liste der Aufgabentypenattribute, um den für diese Hintergrundaufgabe verwendeten Typ der Aufgabenregistrierung anzugeben. Wenn die Hintergrundaufgabe mit mehreren Triggertypen registriert wird, fügen Sie für jeden Typ zusätzliche "Task"-Elemente und "Type"-Attribute hinzu.

    Hinweis  Listen Sie alle verwendeten Auslösertypen auf, da die Hintergrundaufgabe ansonsten die nicht deklarierten Auslösertypen nicht registriert (bei der Register-Methode tritt ein Fehler auf und eine Ausnahme wird ausgelöst).

    Dieses Beispiel für einen Codeausschnitt gibt die Verwendung von Systemereignisauslösern und Pushbenachrichtigungen an:

    
            <Extension Category="windows.backgroundTasks" EntryPoint="Tasks.BackgroundTaskClass">
              <BackgroundTasks>
                <Task Type="systemEvent" />
                <Task Type="pushNotification" />
              </BackgroundTasks>
            </Extension>
    
    
    Hinweis  Normalerweise wird eine App in einem bestimmten Prozess mit der Bezeichnung "BackgroundTaskHost.exe" ausgeführt. Sie können dem Erweiterungselement ein Executable-Element hinzufügen, damit Hintergrundaufgaben im Kontext der App ausgeführt werden. Verwenden Sie das Executable-Element nur bei Hintergrundaufgabe, für die es unbedingt erforderlich ist, z. B. ControlChannelTrigger.

Schritt 3: Hinzufügen von weiteren Hintergrundaufgabenerweiterungen

Wiederholen Sie Schritt 2 für alle weiteren, von Ihrer App registrierten Hintergrundaufgabenklassen.

Das folgende Beispiel zeigt das vollständige "Application"-Element aus dem Hintergrundaufgabenbeispiel: Es zeigt die Verwendung von zwei Hintergrundaufgabenklassen mit insgesamt drei Triggertypen. Kopieren Sie den Abschnitt "Extensions" aus diesem Beispiel, und ändern Sie ihn nach Bedarf, um Hintergrundaufgaben im Anwendungsmanifest zu deklarieren.


<Application Id="BackgroundTask.App" Executable="$targetnametoken$.exe" EntryPoint="BackgroundTask.App">
  <VisualElements DisplayName="BackgroundTask CS sample" Logo="Assets\squareTile-sdk.png" SmallLogo="Assets\smallTile-sdk.png" Description="BackgroundTask CS sample" ForegroundText="light" BackgroundColor="#00b2f0">
    <LockScreen Notification="badgeAndTileText" BadgeLogo="Assets\badgelogo.png" />
    <DefaultTile ShowName="allLogos" ShortName="BGTask CS" WideLogo="Assets\tile-sdk.png" />
    <SplashScreen Image="Assets\splash-sdk.png" BackgroundColor="#00b2f0" />
  </VisualElements>
  <Extensions>
    <Extension Category="windows.backgroundTasks" EntryPoint="Tasks.SampleBackgroundTask">
      <BackgroundTasks>
        <Task Type="systemEvent" />
        <Task Type="timer" />
      </BackgroundTasks>
    </Extension>
    <Extension Category="windows.backgroundTasks" EntryPoint="Tasks.ServicingComplete">
      <BackgroundTasks>
        <Task Type="systemEvent" />
      </BackgroundTasks>
    </Extension>
  </Extensions>
</Application>

Anmerkungen

Hinweis  Wenn Sie eine sperrbildschirmfähige App schreiben, müssen Sie zudem wie in So wird's gemacht: Anzeigen von Benachrichtigungen auf dem Sperrbildschirm beschrieben LockScreen-Elemente in den VisualElements-Abschnitt einfügen.

Verwandte Themen

Deklaration der App-Funktionen
So wird's gemacht: Manuelles Erstellen eines Paketmanifests
So wird's gemacht: Registrieren einer Hintergrundaufgabe
How to debug a background task
Richtlinien und Prüflisten für Hintergrundaufgaben

 

 

Anzeigen:
© 2015 Microsoft