Android 10 引入了一个称为基于常规的省电模式调度选项。借助此选项,原始设备制造商 (OEM) 选择的应用可以向系统提供信号,以实现更智能的省电模式调度。

此选项需要配置,在实现上是可选的。

设备配置

提供程序规范

要告知设置界面设备配置正确,请使用配置叠加层将值 config_batterySaverScheduleProvider 替换为应用的软件包名称。

例如,如果您希望应用软件包 com.google.android.apps.turbo 控制基于常规设置,则可以设置此配置值:

com.google.android.apps.turbo

此时,手机应显示基于常规选项。要进行验证,请编译映像,将其刷入手机,然后转到设置 > 电池 > 省电模式 > 省电模式调度。此时应显示基于常规选项。

默认关闭阈值

新的 config_dynamicPowerSavingsDefaultDisableThreshold 字段用于指定系统关闭省电模式的电池电量,前提是该模式已由基于常规调度程序开启。系统默认设置为 80%,但您可以更改它。

重要提示:请将此值设置为低于 100。此停用阈值可用作提供程序应用因出错而始终尝试触发省电模式时的后备方案。

应用配置

权限

应用从应用中开启省电模式所需的 API 受权限 android.permission.POWER_SAVERandroid.permission.这是一项签名/特许权限,因此请在 privapp-whitelist 中授予您希望其触发省电模式的应用。

向应用授予 privappprivapp 权限的示例:

如果您未将此权限预先授予系统映像上的应用版本,则该应用无法获取权限或正确调用 API。系统不提供常规权限错误之外的任何反馈,因此请验证您是否可以调用 API 并观察其效果。

安装

要使基于常规正常工作,您必须使用必需的权限将应用预安装到系统映像上。仅向一个应用授予 POWER_SAVER 权限,并允许该应用控制基于常规 API。当多个应用尝试使用权限和 API 时,该功能不受支持且未指定。

触发省电模式

API

假设到目前为止设置成功,配置中指定的 OEM 应用应该能够成功调用 PowerManager 中的关联方法,从而触发省电模式:

public boolean setDynamicPowerSaveHint(boolean powerSaveHint, int disableThreshold)

如果启用了基于常规省电模式调度选项,且应用对 powerSaveHint 使用 true 值并调用此方法,则省电模式开启。指定 disableThreshold,这样一来,如果应用无法与系统通信,系统仍然知道在达到哪个电量百分比时可以安全地关闭省电模式。

与基于百分比的自动省电模式一样,此 API 也受用户替换和省电模式休眠的影响。如需了解详情,请参阅 API 文档。

如需验证 API 是否已成功调用,请查询全局设置,以验证后备设置是否根据 API 调用更改了值。

例如,如果用户选择了常规省电模式且应用正在调用 setDynamicPowerSaveHint(true, 10),则全局设置应包含以下值:

automatic_power_save_mode: 1

dynamic_power_savings_disable_threshold: 10

dynamic_power_savings_enabled: 1

如果您随后调用 setDynamicPowerSaveHint(false, 25),则值应为:

automatic_power_save_mode: 1

dynamic_power_savings_disable_threshold: 25

dynamic_power_savings_enabled: 0

您可以使用下面的 adbadb 命令检查这些值:

adb shell settings get global

验证

没有自动验证此功能的方法,因为我们没法知道原始设备制造商 (OEM) 将使用什么行为来决定何时触发常规省电模式。因此,原始设备制造商 (OEM) 负责测试其集成,以确保行为符合预期,尤其是验证设备是否可以完成以下任务:

用户在省电模式调度界面中依次选择根据电量百分比和 15%。只有当电量降到 15% 时,省电模式才会自动开启。

用户在省电模式调度界面中选择基于常规。当应用使用 true 调用 API 时,省电模式开启。此外,如果设备充电至指定的电量阈值并断开电源,省电模式将自动关闭。

用户在省电模式调度界面中选择无。省电模式永远不会自动开启。

如果应用开启省电模式,然后用户手动进行替换,将省电模式设置为重新关闭(使用“快速设置”、“设置”等),则该模式应保持关闭状态,直到用户再次手动重新开启或将设备插入电源。

Android自动打开省电模式,常规省电模式  |  Android 开源项目  |  Android Open Source Project...相关推荐

  1. 【开源项目----Android OPenGLES渲染YUV视频文件】

    [开源项目----Android OPenGLES渲染YUV视频文件] OpenGLES对YUV渲染相关文章参考

  2. android自动打开软件下载,手机后台软件老自动打开怎么办【如何解决】

    智能手机总是会"智能"的打开后台的软件,自动打开的后台软件会影响玩速度的画面和速度,很多小伙伴对自动打开的后台软件甚是讨厌,总是想寻找解决自动打开后台软件的方法.其实智能手机的后台 ...

  3. android10分区镜像,分区和映像  |  Android 开源项目  |  Android Open Source Project

    分区 Android 设备包含若干个分区,这些分区在启动过程中发挥不同的作用.为了支持 A/B 更新,设备需要为 boot.system.vendor 和 radio 分区分别单独配置一个槽位. bo ...

  4. android的wifi直连,WLAN 直连  |  Android 开源项目  |  Android Open Source Project

    WLAN 直连功能又称"WLAN 点对点",它允许支持设备直接使用 WLAN 直连协议发现其他设备并与之互连(无需连接到互联网或移动网络).此功能是基于 Wi-Fi 联盟 (WFA ...

  5. android 导航栏旋转,旋转建议  |  Android 开源项目  |  Android Open Source Project

    在 Android 8.0 中,用户可以通过"快捷设置"图块或"显示"设置,在自动屏幕旋转模式和纵向旋转模式之间切换.在 Android 9 中,我们更新了纵向 ...

  6. android udt协议,接口和软件包  |  Android 开源项目  |  Android Open Source Project

    HIDL 围绕接口构建而成,而接口是在面向对象的语言中用来定义行为的抽象类型.每个接口都是软件包的一部分. 软件包 软件包名称可以具有子级,如 package.subpackage.已发布的 HIDL ...

  7. 自动驾驶资料合集:视频、书籍与开源项目

    来源丨深蓝学院 这是2021最新的自动驾驶资料合集,对于正在学习或者计划入门自动驾驶领域的同学来说,相信会有很大帮助. 课程及公开视频 一.无人驾驶综合 1. 百度与Udacity合作免费课程 课程链 ...

  8. Android签名版本,签名版本以供发布  |  Android 开源项目  |  Android Open Source Project...

    Android 操作系统映像在两个地方使用加密签名: 映像中的所有 .apk 文件都必须经过签名.Android 软件包管理器通过下列两种方式使用 .apk 签名:更换应用时,必须使用与旧应用相同的密 ...

  9. android自动打开软件下载,自动跳过app下载-自动跳过 安卓版v3.4.5-PC6安卓网

    自动跳过app是款针对去广告的辅助应用,用户可以用自动跳过屏蔽掉视频或是影视上的广告,实用又便捷,快来下载自动跳过app吧! 软件介绍 自动跳过app是一款过这款软件,可以帮助用户快速的去除广告,包括 ...

  10. android 自动打开第三方应用程序,Android如何做到应用程序图标隐藏,由第三方程序显示启动...

    Android如何做到应用程序图标隐藏,由第三方程序显示启动 发布时间:2020-07-13 03:25:02 来源:51CTO 阅读:11353 作者:ord1nary 在AndroidManife ...

最新文章

  1. C++中的vector使用范例-
  2. 理解extract_patches_2d
  3. PythonTip(2)
  4. matlab综合实验研究,MATLAB综合实验报告.doc
  5. Android 打造异常崩溃捕获工具
  6. 服务器端Session和客户端Session
  7. [C++] C++ Primer 笔记
  8. 撩开云计算神秘面纱之阿里云弹性计算服务篇
  9. 变量名可以是python的关键字_python – 如何使用关键字作为变量名?
  10. ThinkPHP2.1 增加PHPCMS模板引擎,支持PC标签(get,json)
  11. 在线JSON校验格式化工具,文本对比工具,截图notepad工具
  12. 论文笔记:公钥密码算法的硬件实现及侧信道攻击研究(RSA部分)
  13. Svn内外网切换技巧
  14. 计算机大赛鼓励语录,鼓励参加比赛的话
  15. 【游戏逆向】游戏玩家技能冷却分析
  16. 第一颗国产 TTL 转 HDMI 1.4,视频信号转换芯片LT8618EXB
  17. Java ByteBuffer用法
  18. 微信论坛交流小程序系统毕业设计毕设(6)开题答辩PPT
  19. 【BZOJ4755】 [Jsoi2016]扭动的回文串
  20. Book a Trip on Indian Railways

热门文章

  1. c语言程序已知两点求一般式方程,已知两点求直线方程一般式
  2. DBF文件简介(转)
  3. 华中师范大学计算机学院学分绩,华中师范大学全日制本科交换生学分转换、成绩认定管理办法...
  4. X-NVR2000视频存储及安防管理一体机
  5. php微云上传,API - 微云
  6. 从零搭建KVM虚拟服务器
  7. 测试老鸟分享:掌握2项技能,轻松拿到软件测试工程师offer...
  8. 关于c#实现影音嗅探的问题
  9. 软件生命周期模型优缺点及适用范围
  10. 图像特效---LOMO Filter