Compartilhar via


UserActivityChannel.GetSessionHistoryItemsForUserActivityAsync Método

Definição

Obtém o histórico de sessão de uma atividade do usuário.

public:
 virtual IAsyncOperation<IVector<UserActivitySessionHistoryItem ^> ^> ^ GetSessionHistoryItemsForUserActivityAsync(Platform::String ^ activityId, DateTime startTime) = GetSessionHistoryItemsForUserActivityAsync;
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperation<IVector<UserActivitySessionHistoryItem>> GetSessionHistoryItemsForUserActivityAsync(winrt::hstring const& activityId, DateTime const& startTime);
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperation<IList<UserActivitySessionHistoryItem>> GetSessionHistoryItemsForUserActivityAsync(string activityId, System.DateTimeOffset startTime);
function getSessionHistoryItemsForUserActivityAsync(activityId, startTime)
Public Function GetSessionHistoryItemsForUserActivityAsync (activityId As String, startTime As DateTimeOffset) As IAsyncOperation(Of IList(Of UserActivitySessionHistoryItem))

Parâmetros

activityId
String

Platform::String

winrt::hstring

Identifica a atividade do usuário para a qual obter o histórico de sessão.

startTime
DateTime DateTimeOffset

Obtenha sessões de atividade do usuário que estavam ativas entre startTime e agora.

Retornos

Uma lista de objetos de sessão de atividade do usuário que estavam ativos durante o tempo especificado para a atividade de usuário especificada.

Atributos

Requisitos do Windows

Requisitos Description
Família de dispositivos
Windows 10, version 1803 (introduzida na 10.0.17134.0)
API contract
Windows.Foundation.UniversalApiContract (introduzida na v6.0)

Exemplos

private async void GetMostRecentActivity()
{
    UserActivityChannel channel = UserActivityChannel.GetDefault();

    // Gets the 10 most recently engaged UserActivity objects, sorted by engagement EndTime (null EndTimes sort first)
    IList<UserActivitySessionHistoryItem> recentActivity = await channel. GetRecentUserActivitiesAsync(maxUniqueActivities: 10);

    foreach (var activity in recentActivity)
    {
        var engagements = await channel.GetSessionHistoryItemsForUserActivityAsync(activity.UserActivity.ActivityId, new DateTimeOffset(DateTime.Now, TimeSpan.FromDays(1)));

        long totalEngagementTime = 0;
        foreach(var e in engagements)
        {
            if (e.EndTime != null) // EndTime may be null for active UserActivities
            {
                totalEngagementTime += e.EndTime.Value.Ticks - e.StartTime.Ticks);
            }
            // App specific code to display the activity engagement time
        }
    }
}

Aplica-se a