Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Benutzeraktivitäten stellen Aufgaben dar, die ein Benutzer in Ihrer App ausführt. Sie erstellen Aktivitäten, um Benutzern die Möglichkeit zu geben, wo sie aufgehört haben. Aktivitäten werden im lokalen Aktivitätsverlauf angezeigt und können von Windows Features angezeigt werden, die Benutzern helfen, zu vorherigen Aufgaben zurückzukehren.
Note
Die Zeitachsen-Cloudsynchronisierung wurde im Juli 2021 nicht mehr unterstützt. Benutzeraktivitäten, die von Ihrer App erstellt werden, werden lokal gespeichert und werden nicht mehr über Microsoft Graph Zeitachse auf allen Geräten synchronisiert. Der lokale Aktivitätsverlauf auf dem Gerät funktioniert weiterhin.
Prerequisites
- Ihre App muss gepackt (MSIX) sein oder über eine Paketidentität verfügen.
- Es ist keine spezielle Funktionsdeklaration erforderlich – die UserActivity-API ist für alle verpackten Apps verfügbar.
Erstellen einer Benutzeraktivität
Verwenden Sie die Klassen UserActivityChannel und UserActivity :
using Windows.ApplicationModel.UserActivities;
private UserActivitySession? _currentSession;
private async Task CreateActivityAsync()
{
var channel = UserActivityChannel.GetDefault();
var activity = await channel.GetOrCreateUserActivityAsync("document-123");
activity.ActivationUri = new Uri("myapp://open?doc=123");
activity.VisualElements.DisplayText = "Quarterly Report";
activity.VisualElements.Description = "Working on Q4 financial summary";
await activity.SaveAsync();
_currentSession = activity.CreateSession();
}
Die Aktivitätssitzung signalisiert, dass der Benutzer derzeit mit dieser Aufgabe beschäftigt ist. Verwerfen Sie es, wenn der Benutzer zu einer anderen Aufgabe wechselt.
Festlegen umfangreicher visueller Details
Verwenden Sie die Eigenschaften für UserActivityVisualElements , um die Aktivität für den Benutzer zu beschreiben:
UserActivity activity = new UserActivity("quarterly-report");
activity.VisualElements.DisplayText = "Quarterly Report";
activity.VisualElements.Description = "Last edited: Section 3 - Revenue Analysis";
activity.VisualElements.Attribution = new UserActivityAttribution(
new Uri("ms-appx:///Assets/AppIcon.png"));
Note
AdaptiveCardBuilder (Windows.UI.Shell) ermöglichen es Ihnen, eine vollständige Adaptive Card als visuelle Darstellung einer Aktivität zu rendern, aber diese Oberfläche war Teil der Windows Timeline, die Microsoft inzwischen eingestellt hat. Verwenden Sie AdaptiveCardBuilder nicht in neuem Code — verwenden Sie stattdessen die oben gezeigten VisualElements Eigenschaften.
Aktivierung über eine Aktivität behandeln
Wenn der Benutzer eine Aktivität auswählt, die fortgesetzt werden soll, wird Ihre App mit einem Protokoll-URI aktiviert. Behandeln Sie sie in Ihrer Aktivierungslogik:
var activatedArgs = AppInstance.GetCurrent().GetActivatedEventArgs();
if (activatedArgs.Kind == ExtendedActivationKind.Protocol)
{
var protocolArgs = activatedArgs.Data as Windows.ApplicationModel.Activation.IProtocolActivatedEventArgs;
if (protocolArgs?.Uri.Scheme == "myapp")
{
// Parse the query string manually; System.Web.HttpUtility isn't
// available to apps that target .NET (as opposed to .NET Framework).
string? docId = protocolArgs.Uri.Query
.TrimStart('?')
.Split('&', StringSplitOptions.RemoveEmptyEntries)
.Select(pair => pair.Split('=', 2))
.FirstOrDefault(pair => pair[0] == "doc")
?.ElementAtOrDefault(1);
// Navigate to the document
}
}
Beenden der Sitzung
Wenn der Benutzer die Arbeit an der Aktivität beendet, verwerfen Sie die Sitzung:
UserActivitySession? _currentSession = null;
_currentSession?.Dispose();
_currentSession = null;
Bewährte Vorgehensweisen
- Verwenden Sie aussagekräftige Aktivitäts-IDs – Die ID sollte den Vorgang eindeutig identifizieren (z. B. einen Dokumentpfad oder Projektnamen).
-
Aktualisieren von Aktivitäten – Rufen Sie auf
SaveAsync(), wenn der Benutzer Fortschritte macht, um die Beschreibung aktuell zu halten. - Festlegen eines Aktivierungs-URI – Geben Sie immer einen URI an, damit die Aktivität die App auf den richtigen Zustand neu starten kann.
- Erstellen Sie jeweils eine Sitzung – Verwerfen Sie die vorherige Sitzung, bevor Sie eine neue Sitzung erstellen.
Ausführliche Anleitungen finden Sie unter "Bewährte Methoden für Benutzeraktivitäten".
Verwandte Inhalte
Windows developer