首页 > 其他分享 >Aoac唤醒的软件方案

Aoac唤醒的软件方案

时间:2022-08-26 19:23:59浏览次数:86  
标签:缓存 优先级 Aoac 通知 用户 应用 软件 唤醒

Aoac唤醒

这篇文章包含了Win10下的Aoac唤醒和Win11下的Aoac唤醒的不同地方,在结尾处:
从Win10时代开始,通过软件来唤醒机器是一个很常见的事情了,但是很少有文档去将如何通过AOAC来唤醒,通过硬件、软件如何唤醒,有哪些限制条件,哪些需要注意的系统设置的唤醒场景;什么条件下可以唤醒,什么条件下唤醒失败,对于一个涉及到相关功能的开发人员来说都需要系统性的分析和了解;这篇文章主要梳理在不使用硬件方案的情况下如何唤醒机器。
文档地址
因为是纯软件方案,所以我们梳理文档中软件可以自由唤醒的相关的内容;

Universal Windows Platform (UWP) Applications
UWP applications can wake the SoC from the deepest idle state to sync and display notifications, depending on a device's power source, notification priority levels, and app-specific user configurations.

Event Turns On the display AC power Turns on the display - DC power Remarks
Other UWP apps:push notifications Depends on the type of nitification Depends on whether the app is exempt,the notification priority level, and the type of notification see Note.

备注

如果设备连接到AC电源,则所有优先级的通知(高、中或低优先级)为UWP应用提供。如果设备处于DC(电池)电源,则所有优先级的通知仅针对免除的UWP应用提供。不同类型的通知具有不同的优先级别,具体取决于特定应用。例如收件箱邮件应用将传入邮件的通知视为低优先级。如果在新式待机期间传递通知,则只有Toast通知才会打开显示。有关UWP通知的详细信息,请参阅WNS通知优先级

若要将应用设置为豁免,请右键单击开始菜单,然后选择设置>System>Battery。可以看到高耗电的应用。如果要免除应用,请选择该应用。如果启用“让Windows决定”,请选择“始终”以允许应用在后台运行。若要允许来自应用的通知,请选择“设置>系统>通知”&操作,然后再“获取来自这些发件人的通知”中打开该应用。

看完文档,大致了解了AOAC唤醒在外接电源和内置电池的工作模式下的逻辑。接下来看WNS通知优先级
WNS通知优先级

随着笔记本的发展,应用的功耗最大程度降低变成了应用程序的标准要求。如果应用消耗的能量超过了它们提供的价值,用户可能会卸载这些应用。虽然Windows操作系统回尽可能减少电池的耗电量,但应用有责任高效率运行。
WNS优先级是在电池供电时关闭非关键工作的一种方法。WNS优先级告诉系统哪些通知应该立即发送,那些通知可以等到设备插上电源。通过这些提示,系统可以在通知对用户和应用最有价值的确切时间发送通知。

优先级

应用在发送推送通知时可以使用四个优先级。 优先级是针对单个通知设置的,允许你选择哪些通知需要立即发送(例如,IM 消息)以及哪些通知可以等待(例如,联系人照片更新)。
优先级如下:

优先级 用户替代 说明 示例
是 - 用户可以阻止来自应用的所有通知,也可以阻止应用在节电模式下受到限制。 在设备可以接收通知的任何情况下必须立即发送的最重要的通知。 属于这一类的包括应该唤醒设备的诸如 VoIP 呼叫或严重警报等等。 VoIP 呼叫、时间紧迫的警报
是 - 用户可以阻止来自应用的所有通知,也可以阻止应用在节电模式下受到限制。 这些是不那么重要的事情,不需要立即仅限的事情,但是如果他们不在后台运行,会让用户讨厌。 辅助电子邮件帐户同步,动态磁贴更新。
是 - 用户可以阻止来自应用的所有通知,也可以阻止应用在节电模式下受到限制。 仅在用户使用设备或后台活动有意义时才有意义的通知。 在用户登录或插入他们的设备之前,这些内容会被缓存并且不会被处理。 联系状态(在线/离线)

请注意,许多应用程序在其整个生命周期中都会收到不同优先级的通知。 由于优先级是基于每个通知设置的,因此这不是问题。 VoIP 应用可以为来电发送高优先级通知,然后在联系人上线时用低优先级通知跟进。

设置优先级

设置通知请求的优先级是通过 POST 请求 X-WNS-PRIORITY 上的附加标头完成的。 这是一个 1 到 4 之间的整数值,映射到优先级:
|优先级名称|X-WNS-PRIORITY值|默认值|
|高|1|Toast|
|中型|2|此贴和锁屏提醒|
|低|3|原始|
为了向后兼容,不需要设置优先级。 如果应用未设置其通知的优先级,系统将提供默认优先级。 默认值如上表所示,与现有 Windows 版本的行为相匹配。

桌面行为的详细列表

|设备状态|优先级:高|优先级:中|优先级:低|优先级:极低|
|屏幕打开或接通电源|传送|传送|传送|传送|
|屏幕关闭和使用电池|传送|如果由用户豁免:交付 否则:批量|如果由用户豁免:交付 否则:缓存*|缓存|
|已启用节电|如果由用户豁免:交付 否则:缓存|如果由用户豁免:交付 否则:缓存|如果由用户豁免:交付 否则:缓存|缓存|
|使用电池 + 启用节电模式 + 屏幕关闭|如果由用户豁免:交付 否则:缓存 |如果由用户豁免:交付 否则:缓存|如果由用户豁免:交付 否则:缓存|缓存|

要在省电模式中豁免某个应用,用户必须前往“设置”中的“应用的电池使用情况”,然后选择“允许应用运行后台任务”。对于高、中和低优先级通知,此用户选择可将应用排除在省电模式之外。 你还可以调用 BackgroundExecutionManager API 以编程方式请求用户许可。

了解完这些,我们回到Toast相关的文章,以下是Toast的连接:

toast相关的资料

若要创建重要通知、警报、提醒和传入呼叫通知:

  • Reminder
  • Alarm
  • IncomingCall
  • Urgent

要求:必须运行Windows Insider Preview内部版本 22546 或更高版本才能使用重要通知。
记得添加按钮,不然会被降级为普通Toast
Win10下唤醒Aoac使用Reminder就可以。但是Win11下新增了专注模式,用户免打扰,所以这个Reminder就失效了。文档中说明Urgent可以突破免打扰;但是唤醒逻辑还是要遵循前面的内容;
以上就是本篇文章的全部内容了。
因为写这篇博客的时候在火车上,使用的是Win10电脑,只能等到家之后验证代码,后续会贴到群共享,或者你也可以按照文档自己尝试。

欢迎加群542633085一起交流 请备注你的技术方向

标签:缓存,优先级,Aoac,通知,用户,应用,软件,唤醒
From: https://www.cnblogs.com/duwenlong/p/16628921.html

相关文章

  • 分享艾思软件PHP(Thinkphp+Vue)后台自主框架测试试题
    艾思软件(http://ww.aisisoft.com.cn)后台框架测试试题说明:试题中出现的框架,新框架等名词,特指本次发布的AI-Admin框架3.0全部单选框架地址: https://gitee.c......
  • 报复性熬夜是什么意思?能够每天定时提醒自己早睡的软件
    “报复性熬夜”这个词相信很多人都听说过,这是什么意思呢?其实这是一种过度补偿行为,大意就是指自己白天忙于工作或学习,根本没有时间放松,只有晚上的时间是属于自己的,所以就想......
  • PS软件下载,Photoshop 2021 for mac(PS2021)中文版
    Photoshop2021formac是一款专业的图片处理工具和设计应用程序,设计师必备工具。可以用于创建和增强照片、插图和3D图稿,设计网站和移动应用程序,编辑视频,模拟真实的绘画等......
  • 5、成熟的框架 - 软件技术系列文章
        对于笔者来说,对于框架的选型和应用还是挺感兴趣的。现在市面上已经有很多的软件框架了,而且还朝着更全面更快速的进行着发展。这里笔者主要从前端、后端、UI框架......
  • 4、架构设计 - 软件技术系列文章
        架构设计主要是架构师要做的工作,其实技术经理也需要了解。对于架构,软件工程师如果想往上发展的必经之路。除了设计模式,就是架构设计的过程。这里需要熟悉设计模......
  • 单机版软件的授权控制常见方法
    通常,单机版的软件具有可复制性,复制出来的程序也能够安装、使用。作为软件的拥有者,在将程序交给客户以后,很难限制用户的安装使用,难以监控是否是自己授权过的用户,于是有......
  • Pendo for Mac v6.1.5中文版 云笔记软件
    前言哪里有轻量小巧的mac云笔记软件?PendoforMac是马克喵搜集到的一款运行在Mac平台上的一款新颖精美的mac云笔记软件。PendoMac版是Mac平台上的一款效率办公软件,Pend......
  • Linux安装常见软件
    Linux的安装软件的常见方式二进制发布包RPM包Yum在线安装:自动解决软件安装过程中的库依赖问题源码编译安装上传和下载工具介绍:1.lrzsz检查Linux上是否安装lrzsz......
  • KeyShot Pro for Mac(3D模型渲染软件)中文版
    KeyShotProformac是一款功能强大的3D模型渲染软件,keyshort渲染漆器帮助你更好的创建3D渲染动画。其中KeyShot的GPU模式可用于实时渲染和本地渲染输出,一键访问GPU资源,从......
  • 直播平台软件开发,TextView显示html文字和图片
    直播平台软件开发,TextView显示html文字和图片   SimpleDateFormatsdfTwo=newSimpleDateFormat("yyyy-MM-dd-HH:mm:ss",Locale.getDefault());      ......