Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Recall salva automaticamente instantâneos do seu aplicativo, no entanto, os usuários não poderão reiniciar novamente o seu conteúdo, a menos que você forneça uma UserActivity no momento do instantâneo. Isso permite Recall lançar o usuário de volta ao que estava sendo visto naquele momento.
Um UserActivity refere-se a algo específico em que o usuário estava trabalhando em seu aplicativo. Por exemplo, quando um usuário está escrevendo um documento, um UserActivity pode se referir ao local específico no documento onde o usuário parou de escrever. Ao utilizar uma aplicação de música, o UserActivity pode ser a lista de reprodução que o utilizador ouviu pela última vez. Ao desenhar num quadro, o UserActivity pode indicar onde o utilizador marcou por último. Em resumo, um UserActivity representa um destino dentro do seu aplicativo do Windows ao qual um usuário pode retornar para que possa retomar o que estava fazendo.
Impulsionando as atividades do usuário
Sempre que o conteúdo principal do seu aplicativo for alterado (como o usuário abrir um e-mail diferente, abrir uma página da Web diferente, etc.), seu aplicativo deve registrar um novo UserActivitySession para que o sistema saiba qual conteúdo está aberto no momento.
Recall Em seguida, associará o mais recente UserActivity ao instantâneo salvo e usará o ActivationUri na atividade para permitir que o usuário reinicie esse conteúdo.
Recomendamos que envie as atividades do utilizador em todos os PCs, mesmo naqueles que não estão a executar 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();
}
Observação
O método GetOrCreateUserActivityAsync sempre retornará uma nova atividade nas versões mais recentes do Windows. A capacidade de obter suas atividades salvas anteriormente foi removida e o Windows não armazena mais as atividades anteriores do seu aplicativo de forma que seu aplicativo possa recuperá-las.
Opcional: Tratamento do evento solicitado
Além de enviar atividades por push, a sua aplicação pode optar por implementar o evento UserActivityRequested, que o Windows pode acionar para garantir que tenha a atividade mais recente da sua aplicação.
Observação
UserActivityRequestManager.GetForCurrentView() é concebido para aplicações UWP com CoreWindow.
Nas aplicações de ambiente de trabalho do WinUI 3, as Atividades do Utilizador podem ser criadas diretamente via UserActivityChannel sem necessidade de serem ativadas.
Ver Atividades do Utilizador.
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();
}
}
Conteúdo relacionado
- UserActivity classe
-
Forneça etiquetas de classificação de sensibilidade para Recall utilizando UserActivity ContentInfo - Aprenda como fornecer metadados de etiquetas de classificação de sensibilidade para
UserActivity.ContentInfoimplementação de políticas DLP para empresas - Orientação para desenvolvedores de navegadores da Web
Windows developer