如何让android设备实现AOD

1 篇文章 0 订阅
1 篇文章 0 订阅
本文详细讲解了Always On Display(AOD)的功能、如何在Android设备上开启AOD(包括注意事项),以及针对LCD和AMOLED屏幕的差异。并深入介绍了如何通过修改Android源码来实现在不具备官方功能的设备上实现AOD。
摘要由CSDN通过智能技术生成

1. 什么是AOD?

(要知道更多关于AOD的内容,百度。介绍概念不是这篇的重点。)
它的全称应该是:Always On Display,即我们常说的“熄屏显示”或”灭屏显示“功能,不点亮全屏点亮手机屏幕,只让屏幕局部亮起。

1.1 AOD的作用:

用户不做过多的操作,手机一直局部显示一些重要的内容(时间、重要信息等)。一个小区域能一直看到信息,且功耗小。

1.2 怎么开启AOD?

1)先确定下自己手机屏幕是LCD还是AMOLED,若是LCD,不用找了,没有AOD。
2)不同手机,操作不同。可以参考下面网页对号查看:

https://www.xda-developers.com/how-to-enable-always-on-display-android/#:~:text=To%20enable%20Always%20On%20Display%3A%20Open%20the%20Settings,on%20Home%20screen%2C%20Lock%20screen%20%26%20Always-On%20Display.

1.3 为什么我的手机上不能看到AOD这个功能?

值得注意的是,若是LCD显示屏,AOD功能的意义不是很大。因为LCD屏发光需要整屏的背光,即使是局部亮起,背光还是一直开着的,也就是说,一直是整块屏幕在发光,黑色是因为光没投射出来进入人眼。功耗还是在那里。即使有些APP可以在LCD手机上模拟AOD显示效果,但也不是真正的AOD。如果一直亮着,超级耗电。
若是AMOLED显示屏,就能做到使部分像素点单独显示,不显示的像素不点亮,大大降低了功耗,可以做到一直显示(做到Always on)。
所以知道为什么,即使android设备在软件方面支持AOD,手机厂商也不会开放这个功能,因为没意义。

2 修改Android源码实现AOD

android设备中,在Settings里有一个开关项:设置 - 显示 - 主动显示(Settings - Display - Ambient displays),就可以看到Always On Display。

若没找到,说明Android源码中没实现,这时,就要去改代码实现了。

代码不分析了,也不贴代码在这里了。源码改这2个地方:
1) frameworks/base/core/res/res/values/config.xml里,找到

<bool name="config_dozeAlwaysOnDisplayAvailable">false</bool>

将默认的 false 改为 true :

<bool name="config_dozeAlwaysOnDisplayAvailable">true</bool>

2)同样在 frameworks/base/core/res/res/values/config.xml里,找到

 <string name="config_dozeComponent" translatable="false"></string>

将默认的 false 改为 true :

  <string name="config_dozeComponent" translatable="true"></string>

编译生成image,更新设备image。再次reboot后,在设备中按照这个路径点击,出现了
Settings - Display - Ambient displays,点击进入,可以看到Always on开关。

如下:

在这里插入图片描述

在这里插入图片描述
息屏后,显示:在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值