UserActivityChannel.GetSessionHistoryItemsForUserActivityAsync Método

Definición

Obtiene el historial de sesiones de una actividad de usuario.

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 la actividad del usuario para la que se va a obtener el historial de sesiones.

startTime
DateTime DateTimeOffset

Obtiene las sesiones de actividad del usuario que estaban activas entre startTime y ahora.

Devoluciones

Lista de objetos de sesión de actividad de usuario que estaban activos durante el tiempo especificado para la actividad de usuario especificada.

Atributos

Requisitos de Windows

Familia de dispositivos
Windows 10, version 1803 (se introdujo en la versión 10.0.17134.0)
API contract
Windows.Foundation.UniversalApiContract (se introdujo en la versión v6.0)

Ejemplos

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
        }
    }
}

Se aplica a