Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Recall Automatycznie zapisuje migawki aplikacji, jednak użytkownicy nie będą mogli ponownie ponownie uruchomić zawartości, chyba że udostępnisz element UserActivity w momencie utworzenia migawki. Umożliwia Recall to uruchomienie użytkownika z powrotem do tego, co było widoczne w tym czasie.
UserActivity odnosi się do konkretnego elementu, nad którym użytkownik pracował w Twojej aplikacji. Na przykład gdy użytkownik pisze dokument, UserActivity może odwoływać się do określonego miejsca w dokumencie, w którym użytkownik zrezygnował z zapisywania. Podczas słuchania aplikacji muzycznej UserActivity może być listą odtwarzania, którą użytkownik ostatnio słuchał. Podczas rysowania na płótnie UserActivity może być miejscem, w którym użytkownik ostatnio zrobił znak. Podsumowując, UserActivity reprezentuje miejsce docelowe w aplikacji systemu Windows, do którego użytkownik może wrócić, aby mógł wznowić działanie.
Przesyłanie działań użytkownika
Za każdym razem, gdy główna zawartość w aplikacji zmieni się (na przykład użytkownik otwierający inną wiadomość e-mail, otwierając inną stronę internetową itp.), aplikacja powinna rejestrować nową UserActivitySession zawartość, aby system wiedział, jaka zawartość jest obecnie otwarta.
Recall Następnie skojarzy najnowsze UserActivity z migawką, którą zapisze, i użyje elementu ActivationUri w ramach działania, aby umożliwić użytkownikowi ponowne uruchamianie tej zawartości.
Zalecamy synchronizowanie działań użytkowników do wszystkich komputerów, nawet tych, które nie działają Recall.
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();
}
Uwaga / Notatka
Metoda GetOrCreateUserActivityAsync zawsze zwraca nowe działanie w najnowszych wersjach systemu Windows. Możliwość pobrania wcześniej zapisanych działań została usunięta, a system Windows nie przechowuje już poprzednich działań aplikacji w taki sposób, aby aplikacja mogła je pobrać.
Opcjonalnie: obsługa żądanego zdarzenia
Oprócz przesyłania działań aplikacja może zdecydować się na zaimplementowanie UserActivityRequested zdarzenia, które mogą zostać wyzwolone przez system Windows, aby upewnić się, że ma ona najnowsze działanie twojej aplikacji.
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();
}
}
Treści powiązane
- Klasa UserActivity
-
Przypisywanie etykiet poufności do Recall przy użyciu UserActivity ContentInfo — zapoznaj się, jak udostępnić metadane etykiet poufności poprzez
UserActivity.ContentInfow celu wymuszania polityki DLP w przedsiębiorstwie - Wskazówki dla deweloperów przeglądarek internetowych
Windows developer