在锁定屏幕上显示UWP控件

时间:2018-01-08 20:33:42

标签: c# uwp toast lockscreen lockscreenwidget

我做了什么

我要求用户需要能够通过Windows锁定屏幕启动我的应用程序。在搜索到www后,结果显示从锁定屏幕连接热键是非常困难的(如果不是不可能的话) 然后我找到了使用

this post
 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属性不能设置为“连续”或类似的东西。

问题

  • 有没有办法可以连续显示ToastNotification
  • 如果没有,是否有其他方法通过按钮(或其他控件)通过锁定屏幕触发我的应用程序,如Spotify小部件。 (参见linked post
  • 的屏幕截图

2 个答案:

答案 0 :(得分:3)

没有支持的方法将按钮添加到锁定屏幕 - 只有文本。

Spotify“小部件”只是正在播放的UI,仅与媒体应用相关。

您可以通过将其更改为提醒来“连续”显示“祝酒”。这将使吐司留在屏幕上,直到用户解雇它。

ToastContent content = new ToastContent()
{
    Scenario = ToastScenario.Reminder,
    Visual = new ToastVisual()

然而,为此使用祝酒词可能是滥用吐司通知。但它可能在你的场景中有意义。

答案 1 :(得分:0)

如果您只希望用户能够访问您的单个应用(例如,公共场所的自助服务终端),则可以使用“分配的访问/自助终端模式”。这是一些文档链接: