当前位置: 首页 > 知识库问答 >
问题:

Windows Toast通知,COM不工作

邓赤岩
2023-03-14

我一直在工作与以下要求的烤面包通知。

  • 应用程序需要处理所有类型的激活类型(前台、后台、协议)

所以我创建了一个示例UWP应用程序。它为前景和背景工作。但当我用PowerShell创建祝酒词时。未激活通知。


[Windows.UI.Notifications.ToastNotificationManager, Windows.UI.Notifications, ContentType = WindowsRuntime] | Out-Null
[Windows.UI.Notifications.ToastNotification, Windows.UI.Notifications, ContentType = WindowsRuntime] | Out-Null
[Windows.Data.Xml.Dom.XmlDocument, Windows.Data.Xml.Dom.XmlDocument, ContentType = WindowsRuntime] | Out-Null

$APP_ID = 'DF068783-F662-4A13-8BFC-F8BC1E53F4E6'

$template = @"
<toast activationType="protocol" launch="DF068783-F662-4A13-8BFC-F8BC1E53F4E6\WinFormSampleAppActivator" duration="short">
    <visual>
        <binding template="ToastGeneric">
            
            <image placement="appLogoOverride" src="C:\Users\dksil\OneDrive\Desktop\Go\s.jpg" />
            
            
            <text><![CDATA[Test]]></text>
            
            
            <text><![CDATA[some test]]></text>
            
        </binding>
    </visual>
    
    <audio src="ms-winsoundevent:Notification.Default" loop="false" />
    
    
    <actions>
        
        <action activationType="protocol" content="I'm a button" arguments="DF068783-F662-4A13-8BFC-F8BC1E53F4E6" />
        
    </actions>
    
</toast>
"@

$xml = New-Object Windows.Data.Xml.Dom.XmlDocument
$xml.LoadXml($template)
$toast = New-Object Windows.UI.Notifications.ToastNotification $xml
[Windows.UI.Notifications.ToastNotificationManager]::CreateToastNotifier($APP_ID).Show($toast)
    

感谢帮助!!!

共有1个答案

端木朝
2023-03-14

在谷歌上花了几个小时尝试了一大堆东西之后。我发现问题出在Power shell脚本上。

下面的PS脚本工作。如果你能告诉为什么这一个工作,而不是上面的一个,这将是伟大的。

$null = [Windows.UI.Notifications.ToastNotificationManager, Windows.UI.Notifications, ContentType = WindowsRuntime]
$null = [Windows.Data.Xml.Dom.XmlDocument, Windows.Data.Xml.Dom.XmlDocument, ContentType = WindowsRuntime]

$App = "af954980-b64d-4c13-858f-614bcbeb295e_304r6e67w7w2y!App"

[xml]$Toast = @"
<toast duration="short">
    <visual>
    <binding template="ToastGeneric">
        <image placement="appLogoOverride" src="C:\Users\dksil\OneDrive\Desktop\Go\s.jpg" />
        <text>Hello</text>
        <text>Deepak Dash</text>
    </binding>
    </visual>
    <audio src="ms-winsoundevent:Notification.Default" loop="false" />
    <actions>
        
        <action activationType="Protocol" content="I'm a button" arguments="C:\Users\dksil\OneDrive\Desktop\Go" />
        
    </actions>
</toast>
"@


# Load the notification into the required format
$ToastXml = New-Object -TypeName Windows.Data.Xml.Dom.XmlDocument
$ToastXml.LoadXml($Toast.OuterXml)
[Windows.UI.Notifications.ToastNotificationManager]::CreateToastNotifier($App).Show($ToastXml)

注意-我还尝试将$app设置为“AF954980-B64D-4C13-858F-614BCBEB295E_304R6E67W7W2Y!app”。这对于之前的PS脚本也是行不通的。

 类似资料:
  • 在这件事上被困了好几天。所以,我使用这个包来实现本地推送通知: https://github.com/zo0r/react-native-push-notification 我可以像这样获得本地计划通知: 我想在用户点击通知和应用程序打开时调用一个函数。为了实现以下目标,我在我的pp.js中这样做了: 但是,函数不会被调用。 我已经回答了以下几个问题,但是运气不好。 在通知上的本机消息推送不触发

  • 我需要帮助。Firebase通知在后台不工作。这是我的代码:

  • 第五天。 仔细看看我在下面写的清单,它对我很有用。 设置规格: Phonegap版本:7.1.1 浏览器:chrome 电话:1加x 手机Android版:6.0.1 科尔多瓦版本8.0.0 首先测试cmd是否安装了所有组件 科尔多瓦创建通知Appcom.notification.example通知App cordova平台添加浏览器 cordova平台添加ios 科尔多瓦平台添加Android

  • 您可以看到,我的JSON中有两个块:一个通知块(在后台接收通知),一个数据块(在前台接收通知)。 我不明白为什么没有收到后台通知。我的怀疑是关于块的顺序(如果我把“数据”块放在“通知”块之前会有问题吗?)。 编辑:有关问题的更多信息。 编辑2: 当应用程序在后台时,不会收到通知,但当我打开应用程序时,会立即收到相同的通知(方法didReceiveRemoteNotification被激发)。

  • 我参考了以下链接来研究Android中通知服务的演示示例:Sai Geetha博客和Vogella教程。 这两个项目都起到了作用,但都是部分的,也就是说,我已经按原样下载并执行了这两个项目。两者都有启动通知的按钮。单击按钮时,状态栏顶部会显示通知。 问题来了,点击该通知后,既不会显示任何消息,也不会激发浏览新活动的意图。 我对这个概念还不熟悉,所以非常感谢您的帮助。。。 创建通知。班 通知接收者。

  • 我已经设置了接收通知的代码,但它不起作用: 我用它在我的主要活动,我尝试了它,因为电话是待机。我该怎么解决?它需要其他代码吗?我遵循了以下指南:http://www.dre.vanderbilt.edu/~schmidt/android/android-4.0/out/target/common/docs/doc-comment-check/guide/topics/ui/notifiers/no