5

我做了什么

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

 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 小部件那样。(见链接帖子的截图)
4

2 回答 2

3

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

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

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

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

但是,为此使用 toast 可能是对 toast 通知的滥用。但这在您的场景中可能有意义。

于 2018-01-08T21:42:35.380 回答
0

如果您只希望用户能够访问您的单个应用程序(例如公共场所的信息亭),您可以使用分配访问/信息亭模式。以下是一些文档链接:

于 2018-01-08T23:02:58.477 回答