Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A felhasználói tevékenységek olyan feladatokat jelölnek, amelyeket egy felhasználó hajt végre az alkalmazásban. Olyan tevékenységeket hoz létre, amelyek lehetővé teszik a felhasználók számára, hogy ott folytassanak, ahol abbahagyták. A tevékenységek megjelennek a helyi tevékenységelőzményekben, és a Windows funkciói megjeleníthetik őket, hogy segítsenek a felhasználóknak visszatérni a korábbi feladatokhoz.
Note
A Timeline felhőszinkronizálása 2021 júliusában kivezetésre került. Az alkalmazás által létrehozott felhasználói tevékenységek helyileg vannak tárolva, és többé nem szinkronizálódnak az eszközök között Microsoft Graph idővonalon keresztül. A helyi tevékenységelőzmény az eszközön továbbra is működik.
Prerequisites
- Az alkalmazásnak csomagolva (MSIX) kell lennie, vagy csomagazonosítóval kell rendelkeznie.
- Nincs szükség speciális képességdeklarációra – a UserActivity API minden csomagolt alkalmazás számára elérhető.
Felhasználói tevékenység létrehozása
Használja a UserActivityChannel és a UserActivity osztályt:
using Windows.ApplicationModel.UserActivities;
private UserActivitySession? _currentSession;
private async Task CreateActivityAsync()
{
var channel = UserActivityChannel.GetDefault();
var activity = await channel.GetOrCreateUserActivityAsync("document-123");
activity.ActivationUri = new Uri("myapp://open?doc=123");
activity.VisualElements.DisplayText = "Quarterly Report";
activity.VisualElements.Description = "Working on Q4 financial summary";
await activity.SaveAsync();
_currentSession = activity.CreateSession();
}
A tevékenység-munkamenet azt jelzi, hogy a felhasználó jelenleg foglalkozik ezzel a feladattal. Helyezze el, amikor a felhasználó másik feladatra vált.
Gazdag vizuális részletek beállítása
A UserActivityVisualElements tulajdonságaival írja le a felhasználónak a tevékenységet:
UserActivity activity = new UserActivity("quarterly-report");
activity.VisualElements.DisplayText = "Quarterly Report";
activity.VisualElements.Description = "Last edited: Section 3 - Revenue Analysis";
activity.VisualElements.Attribution = new UserActivityAttribution(
new Uri("ms-appx:///Assets/AppIcon.png"));
Note
AdaptiveCardBuilder (Windows.UI.Shell) lehetővé teszik, hogy egy teljes Adaptív kártyát egy tevékenység vizuális megjelenítéseként jelenítsen meg, de ez a felület a Windows Idővonal része volt, amelyet a Microsoft megszüntetett. Ne használja AdaptiveCardBuilder az új kódban – használja helyette a VisualElements fenti tulajdonságokat.
Tevékenység aktiválásának kezelése
Amikor a felhasználó kiválaszt egy tevékenységet a folytatáshoz, az alkalmazás aktiválva lesz egy protokoll URI-val. Kezelje az aktiválási logikájában:
var activatedArgs = AppInstance.GetCurrent().GetActivatedEventArgs();
if (activatedArgs.Kind == ExtendedActivationKind.Protocol)
{
var protocolArgs = activatedArgs.Data as Windows.ApplicationModel.Activation.IProtocolActivatedEventArgs;
if (protocolArgs?.Uri.Scheme == "myapp")
{
// Parse the query string manually; System.Web.HttpUtility isn't
// available to apps that target .NET (as opposed to .NET Framework).
string? docId = protocolArgs.Uri.Query
.TrimStart('?')
.Split('&', StringSplitOptions.RemoveEmptyEntries)
.Select(pair => pair.Split('=', 2))
.FirstOrDefault(pair => pair[0] == "doc")
?.ElementAtOrDefault(1);
// Navigate to the document
}
}
A munkamenet befejezése
Ha a felhasználó nem dolgozik a tevékenységen, dobja el a munkamenetet:
UserActivitySession? _currentSession = null;
_currentSession?.Dispose();
_currentSession = null;
Bevált gyakorlatok
- Hasznos tevékenységazonosítók használata – Az azonosítónak egyedileg kell azonosítania a tevékenységet (például egy dokumentum elérési útját vagy a projekt nevét).
-
Tevékenységek frissítése – Hívás
SaveAsync(), ha a felhasználó előrehaladást végez a leírás naprakészen tartásához. - Aktiválási URI beállítása – Mindig adjon meg egy URI-t, hogy a tevékenység a megfelelő állapotba indítsa újra az alkalmazást.
- Hozzon létre egyszerre egy munkamenetet – Az előző munkamenet elvetése az új létrehozása előtt.
Részletes útmutatásért tekintse meg a felhasználói tevékenységek ajánlott eljárásait.
Kapcsolódó tartalom
Windows developer