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唤醒的软件方案的更多相关文章

  1. C/S软件方案

    互联网时代客户端软件的一些方案 纯Native开发, C++/C#/duilib+C++(Windows), Objective-c(Mac) Qt(Windows/Mac) NW.js/Electr ...

  2. 10个最好的免费PS图象处理软件方案

    说到照片和图像编辑/操纵,真的没有更好的应用,Adobe PS图象处理软件. 摄影师和创意工作室会同意这是总理的照片编辑应用期. 不幸的是,PS图象处理软件还配备了一个陡峭的学习曲线和价格标签,我们必 ...

  3. atitit.短信 验证码  破解  v3 p34  识别 绕过 系统方案规划----业务相关方案 手机验证码  .doc

    atitit.短信 验证码  破解  v3 p34  识别 绕过 系统方案规划----业务相关方案 手机验证码  .doc 1. 手机短信验证码 vs 图片验证码 安全性(破解成本)确实要高一些1 1 ...

  4. 分布式数据存储 - MySQL主从复制高可用方案

    前面几篇文章说道MySQL数据库的高可用方案主从复制.主从复制的延迟产生原因.延迟检测及延迟解决方案(并未从根本上解决),这种主从复制方案保证数据的冗余的同时可以做读写分离来分担系统压力但是并非是高可 ...

  5. 全面盘点当前Android后台保活方案的真实运行效果(截止2019年前)

    本文原作者“minminaya”,作者网站:minminaya.cn,为了提升文章品质,即时通讯网对内容作了幅修订和改动,感谢原作者. 1.引言 对于IM应用和消息推送服务的开发者来说,在Androi ...

  6. 业务限流场景简单实现方案:RateLimiter

    前因:因为本系统中,有大数据高并发的场景.在向下游系统发送请求的时候,需要限流.否则会造成下游系统的堵塞. 实现方案1: Thread.sleep(ms). 优点:简单粗暴,一行代码搞定 缺点:有点l ...

  7. Mycat节点扩缩容及高可用集群方案

    数据迁移与扩容实践: 工具目前从 mycat1.6,准备工作:1.mycat 所在环境安装 mysql 客户端程序. 2.mycat 的 lib 目录下添加 mysql 的 jdbc 驱动包. 3.对 ...

  8. 《推送开发全面盘点当前Android后台保活方案的真实运行效果》

        登录 立即注册 TCP/IP详解 资讯 动态 社区 技术精选 首页   即时通讯网›专项技术区›推送开发全面盘点当前Android后台保活方案的真实运行效果(截止2 ...   帖子 打赏 分 ...

  9. (5.1)mysql高可用系列——高可用架构方案概述

    关键词:mysql高可用概述,mysql高可用架构 常用高可用方案 20190918 现在业内常用的MySQL高可用方案有哪些?目前来说,用的比较多的开源方案分内置高可用与外部实现,内置高可用有如下: ...

随机推荐

  1. ICDAR2013

    参考:https://www.cnblogs.com/dmyu/p/6483357.html以及博主相关文章等.

  2. Linux切换中英文输入

    使用xshell登录Linux服务器后,输入的命令正确但是提示命令不存在,这是什么鬼. 通过移动光标可以发现两种字体的宽度不一样 解决方法 shift + 空格 进行切换

  3. 入坑KeePass(一)安全桌面输入管理密钥后,不能输入中文

    坑一:设置了在安全桌面输入管理密钥后,重启电脑后今日keepass软件中不能输入中文: 解决方式:进入keepass软件中取消勾选,在重启软件就可以输入中文了.

  4. 17.Nginx 重写(location rewrite)

    Nginx 重写(location / rewrite) 目录 Nginx 重写(location / rewrite) 常见的nginx正则表达式 location lication的分类 loca ...

  5. 1.1 操作系统的第一个功能——虚拟化硬件资源 -《zobolの操作系统学习札记》

    1.1 操作系统的第一个功能--虚拟化硬件资源 目录 1.1 操作系统的第一个功能--虚拟化硬件资源 问1:操作系统一般处于计算机系统的哪一个位置? 问2:管理硬件资源为什么要单独交给操作系统? 问3 ...

  6. hadoop MapReduce运营商案例关于用户基站停留数据统计

    注 如果需要文件和代码的话可评论区留言邮箱,我给你发源代码 本文来自博客园,作者:Arway,转载请注明原文链接:https://www.cnblogs.com/cenjw/p/hadoop-mapR ...

  7. sql-DDL-约束

    约束 对表中的数据进行限定,保证数据的正确性.有效性和完整性. 6个约束 1. 主键约束Primary Key: 唯一,不能为null -- 主键约束.和唯一约束不能同时设置 1. 含义:非空且唯一 ...

  8. mt19937 用法

    老是忘记怎么用,自己写一个用作备忘录吧. 首先需要的头文件: #include <random> 或者是 #include <bits/stdc++.h> //万能头 yyds ...

  9. REST 表现层状态转化

    1.REST是什么? 1) REST:即 Representational State Transfer.(资源)表现层状态转化.是目前最流行的一种互联网软件架构.它结构清晰.符合标准.易于理解.扩展 ...

  10. 选择结构-扩展if-else语句和练习用if语句实现考试成绩划分

    判断语句3--if..else if...else if语句第三种格式: if...else if ...else if (判断条件1) { 执行语句1; } else if (判断条件2) { 执行 ...