Freigeben über


UserActivityChannel.GetSessionHistoryItemsForUserActivityAsync Methode

Definition

Ruft den Sitzungsverlauf für eine Benutzeraktivität ab.

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

Parameter

activityId
String

Platform::String

winrt::hstring

Gibt die Benutzeraktivität an, für die der Sitzungsverlauf abgerufen werden soll.

startTime
DateTime DateTimeOffset

Ruft Benutzeraktivitätssitzungen ab, die zwischen startTime und jetzt aktiv waren.

Gibt zurück

Eine Liste der Benutzeraktivitätssitzungsobjekte, die während der angegebenen Zeit für die angegebene Benutzeraktivität aktiv waren.

Attribute

Windows-Anforderungen

Gerätefamilie
Windows 10, version 1803 (eingeführt in 10.0.17134.0)
API contract
Windows.Foundation.UniversalApiContract (eingeführt in v6.0)

Beispiele

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

Gilt für: