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.
Recall speichert automatisch Momentaufnahmen Ihrer Anwendung, Benutzer können jedoch nicht zu Ihren Inhalten zurückkehren, es sei denn, Sie stellen eine UserActivity zum Zeitpunkt der Momentaufnahme bereit. Auf diese Weise kann Recall den Benutzer wieder in den zu diesem Zeitpunkt gesehenen Inhalt zurückversetzen.
Eine UserActivity bezieht sich auf etwas Bestimmtes, an dem der Benutzer innerhalb Ihrer Anwendung gearbeitet hat. Wenn ein Benutzer zum Beispiel ein Dokument schreibt, könnte ein UserActivity auf die Stelle im Dokument verweisen, an der der Benutzer mit dem Schreiben aufgehört hat. Beim Anhören einer Musik-App könnte das UserActivity die Playlist sein, die der Nutzer zuletzt angehört hat. Beim Zeichnen auf einem Kollaborationsbereich könnte das UserActivity die Stelle sein, an der der Benutzer zuletzt eine Markierung vorgenommen hat. Zusammenfassend lässt sich sagen, dass ein UserActivity ein Ziel innerhalb Ihrer Windows-App darstellt, zu dem ein Benutzer zurückkehren kann, um seine Arbeit fortzusetzen.
Fördern von Benutzeraktivitäten
Wenn sich der Hauptinhalt in Ihrer App ändert (z. B. der Benutzer, der eine andere E-Mail öffnet, eine andere Webseite öffnet usw.), sollte Ihre App ein neues UserActivitySession Protokoll protokollieren, damit das System weiß, welche Inhalte derzeit geöffnet sind.
Recall ordnet dann die aktuellste UserActivity Momentaufnahme zu, die er speichert, und verwendet die ActivationUri innerhalb der Aktivität, um dem Benutzer das Erneute starten zu diesem Inhalt zu ermöglichen.
Wir empfehlen, Benutzeraktivitäten auf allen PCs zu übertragen, auch auf jenen, auf denen Recall nicht ausgeführt wird.
UserActivitySession _previousSession;
private async Task OnContentChangedAsync()
{
// Dispose of any previous session (which automatically logs the end of the interaction with that content)
_previousSession?.Dispose();
// Generate an identifier that uniquely maps to your new content.
string id = "doc135.txt";
// Create a new user activity that represents your new content
var activity = await UserActivityChannel.GetDefault().GetOrCreateUserActivityAsync(id);
// Populate the required properties
activity.DisplayText = "doc135.txt";
activity.ActivationUri = new Uri("my-app://docs/doc135.txt");
// Save the activity
await activity.SaveAsync();
// And start a new session tracking the engagement with this new activity
_previousSession = activity.CreateSession();
}
Hinweis
Die GetOrCreateUserActivityAsync-Methode gibt immer eine neue Aktivität in den neuesten Versionen von Windows zurück. Die Möglichkeit zum Abrufen ihrer zuvor gespeicherten Aktivitäten wurde entfernt, und Windows speichert die vorherigen Aktivitäten Ihrer App nicht mehr so, dass Ihre App sie abrufen kann.
Optional: Behandeln des angeforderten Ereignisses
Zusätzlich zu Pushaktivitäten kann Ihre App das UserActivityRequested Ereignis implementieren, das von Windows ausgelöst werden kann, um sicherzustellen, dass sie über die neueste Aktivität ihrer App verfügt.
public void OnLaunched()
{
UserActivityRequestManager.GetForCurrentView().UserActivityRequested += UserActivityRequested;
}
private async void UserActivityRequested(
Windows.ApplicationModel.UserActivities.UserActivityRequestManager sender,
Windows.ApplicationModel.UserActivities.UserActivityRequestedEventArgs args)
{
// Start a deferral so you can use async code
var deferral = args.GetDeferral();
try
{
// Generate an identifier that uniquely maps to your current content.
string id = "doc135.txt";
// Create a user activity that represents your current content
var activity = await UserActivityChannel.GetDefault().GetOrCreateUserActivityAsync(id);
// Populate the required properties
activity.DisplayText = "doc135.txt";
activity.ActivationUri = new Uri("my-app://docs/doc135.txt");
// And return the activity to the event handler
args.Request.SetUserActivity(activity);
}
finally
{
// And complete the deferral
deferral.Complete();
}
}
Verwandte Inhalte
- UserActivity-Klasse
-
Bereitstellen von Vertraulichkeitsbezeichnungen für Recall UserActivity ContentInfo – Erfahren Sie, wie Sie Metadaten für Vertraulichkeitsbezeichnungen zur Erzwingung von DLP-Richtlinien für Unternehmen über
UserActivity.ContentInfobereitstellen. - Leitfaden für Entwickler von Webbrowsern
Windows developer