UserActivity.State Property


Gets the state (Published or New) of this UserActivity.

 property UserActivityState State { UserActivityState get(); };
UserActivityState State();
public UserActivityState State { get; }
var userActivityState = userActivity.state;
Public ReadOnly Property State As UserActivityState

Property Value

The state of this UserActivity.


UserActivity userActivity = await channel.GetOrCreateUserActivityAsync(activityId);

//if it's a new UserActivity associate metadata with it
if (userActivity.State == UserActivityState.New)
    //required fields, SaveAsync() throws ArgumentNullException if not set
    userActivity.ActivationUri = new Uri("rss-reader:article?" + article.Link);
    userActivity.DisplayText = article.Title; //used for details tile text

    //optional fields
    userActivity.FallbackUri = article.Link;

    //we don't have a website for the app, but the article can be viewed in a browser
    userActivity.ContentUri = article.Link;

    userActivity.VisualElements.Description = article.Summary; //optional

    userActivity.ContentInfo = UserActivityContentInfo.FromJson(
        ""@context"": """",
        ""@type"": ""Article"",
        ""author"": ""John Doe"",
        ""name"": ""How to Tie a Reef Knot""
    await userActivity.SaveAsync();


Knowing that a UserActivity is New versus Published can be used to determine whether GetOrCreateUserActivityAsync() returned a newly created UserActivity or one that had been previously created.

Applies to