我做了什么
我得到的要求是用户需要能够通过 Windows 锁定屏幕启动我的应用程序。搜索 www 后发现,从锁定屏幕连接热键非常困难(如果不是不可能的话)。
然后我发现这个帖子 https://stackoverflow.com/questions/46528041/windows-lock-screen-display-text-programmatically-c-sharp它使用
Microsoft.Toolkit.Uwp.Notifications.TileContent
将通知发送到锁定屏幕。
我发现无法向其中添加一些按钮或类似的控件TileContent
所以我尝试了
Microsoft.Toolkit.Uwp.Notifications.ToastContent
我成功添加了一个按钮,并且可以显示ToastNotification
像这样
ToastContent content = new ToastContent()
{
Duration = ToastDuration.Long,
Visual = new ToastVisual()
{
BindingGeneric = new ToastBindingGeneric()
{
Attribution = new ToastGenericAttributionText()
{
Text = "Hello World"
}
}
},
Actions = new ToastActionsCustom()
{
Buttons = {
new ToastButton ("mycontent", "myargs")
}
}
};
var notification = new ToastNotification(content.GetXml());
ToastNotificationManager.CreateToastNotifier().Show(notification);
使用这种方法我遇到的问题是ToastNotification
在特定时间后消失。这ToastContent.Duration
属性不能设置为“连续”或类似的值。
Question
- 有没有办法连续显示
ToastNotification
?
- 如果没有,是否有另一种方法可以通过按钮(或其他控件)通过锁定屏幕触发我的应用程序,例如 Spotify 小部件。 (参见屏幕截图领英帖子 https://stackoverflow.com/questions/46528041/windows-lock-screen-display-text-programmatically-c-sharp)
不支持向锁定屏幕添加按钮 - 仅限文本。
Spotify“小部件”只是“正在播放”UI,仅与媒体应用程序相关。
您可以通过将其更改为提醒来使吐司“连续”显示。这将使 toast 保留在屏幕上,直到用户将其关闭。
ToastContent content = new ToastContent()
{
Scenario = ToastScenario.Reminder,
Visual = new ToastVisual()
然而,为此使用 Toast 可能是对 Toast 通知的滥用。但这在您的场景中可能有意义。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)