Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Recall automaticky ukládá snímky vaší aplikace, ale uživatelé nebudou moct znovu spustit zpět obsah, pokud v době snímku nezadáte userActivity . To umožňuje Recall spustit uživatele zpět do toho, co se v té době vidělo.
UserActivity odkazuje na něco konkrétního, na čem uživatel pracoval ve vaší aplikaci. Když například uživatel píše dokument, může UserActivity odkazovat na konkrétní místo v dokumentu, kde uživatel přestal psát. Při poslechu hudební aplikaci může být UserActivity playlist, který uživatel naposledy poslouchal. Při kreslení na plátno může být UserActivity místo, kde uživatel naposledy vytvořil značku. Stručně řečeno, UserActivity představuje cíl ve vaší aplikaci pro Windows, ke kterému se uživatel může vrátit, aby mohl pokračovat v tom, co dělal.
Propagace aktivit uživatelů
Pokaždé, když se hlavní obsah v aplikaci změní (třeba uživatel, který otevírá jiný e-mail, otevírá jinou webovou stránku atd.), měla by vaše aplikace protokolovat nový UserActivitySession obsah, aby systém věděl, jaký obsah je aktuálně otevřený.
Recall pak přidruží nejnovější UserActivity ke snímku, který uloží, a využije ActivationUri během činnosti, aby uživatel mohl znovu otevřít tento obsah.
Doporučujeme propagovat uživatelské aktivity na všech počítačích, i těch, které nepoužívají 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.VisualElements.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();
}
Poznámka:
Metoda GetOrCreateUserActivityAsync vždy vrátí novou aktivitu v nejnovějších verzích Windows. Možnost získat dříve uložené aktivity byla odebrána a Systém Windows už neukládá předchozí aktivity vaší aplikace způsobem, jak je aplikace může načíst.
Volitelné: Zpracování požadované události
Kromě nabízení aktivit se vaše aplikace může rozhodnout implementovat událost UserActivityRequested, kterou může Windows aktivovat, aby zajistil, že má nejnovější aktivitu z vaší aplikace.
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.VisualElements.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();
}
}
Související obsah
- třída UserActivity
-
Poskytněte popisky citlivosti pro Recall pomocí UserActivity ContentInfo – Naučte se, jak poskytovat metadata popisků citlivosti prostřednictvím
UserActivity.ContentInfopro vynucení zásad ochrany před únikem informací v podnikovém prostředí. - Pokyny pro vývojáře webových prohlížečů
Windows developer