c# - UserActivity 打开最后编辑的文件
问题描述
在 Windows 10 时间轴中单击后,如何让我的应用程序打开最后编辑的文件?谢谢您的帮助。
var activityId = Guid.NewGuid().ToString();
UserActivityChannel channel = UserActivityChannel.GetDefault();
UserActivity userActivity = await channel.GetOrCreateUserActivityAsync(activityId);
userActivity.VisualElements.DisplayText = PageTitle.Text;
if (File != null)
{
userActivity.VisualElements.Description = File.DisplayName;
}
userActivity.VisualElements.BackgroundColor = Colors.Black;
userActivity.VisualElements.Content = AdaptiveCardBuilder.CreateAdaptiveCardFromJson(cardText);
userActivity.ActivationUri = new Uri("my-app:navigate?page=" + _index);
await userActivity.SaveAsync();
_currentActivity?.Dispose();
_currentActivity = userActivity.CreateSession();
解决方案
在UserActivityChannel类中,有一个GetRecentUserActivitiesAsync方法,但它只获取指定数量的最近参与的用户活动,按每个用户活动结束的时间排序。由于 UWP 应用程序的隐私保护政策,您的应用程序无法从系统或其他应用程序获取用户活动。
目前,在您的应用中,您只能操作您的应用创建的用户活动。如果文件被系统或其他应用程序编辑,则无法实现您想要的效果。但是如果该文件是由您的应用程序操作的,您可以尝试创建一个用于打开文件的用户活动,然后在您的应用程序中处理协议激活事件以打开它。也许您应该看到最近使用的主题跟踪文件。
推荐阅读
- c++ - 为什么删除后调用函数?
- mysql - 使用 laravel 5.6.* 在大型 mysql 数据库中进行 Ajax 搜索在 Windows Server 2012 r2 中引发 500 错误
- autodesk-forge - Forge/B360 Viewer 中不需要的线元素
- python - 如何将元组列表(tf.constant,tf.constant)转换为张量流数据集?
- go - Gorm doesn't create foreignkeys at many to many relationship
- linux - Procmail/munpack:提取类似于文本和附件的标题?
- amazon-web-services - AWS Beanstalk 内存不足
- javascript - CSS 菜单布局。如何在图标下方放置文字?
- aws-lambda - AWS Lambda:无法在“错误”中继续回调
- git - 使用 git archive 时出现奇怪的工件