如何让Android设备实现息屏显示

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何让Android设备实现息屏显示相关的知识,希望对你有一定的参考价值。

参考技术A

什么是息屏显示?
息屏显示就是手机在息屏状态下,屏幕上会显示当前时间、日期信息,无需点亮手机屏幕即可查看。息屏显示的原理主要是利用了OLED屏幕像素点自发光的特性,仅显示时间的像素点发光,功耗相比LCD屏幕要低很多。

玩过android源码的同学应该知道,在Settings里有一个开关项:

既然知道主动显示开关是放在设置里面的,那不妨先从Settings的源码看起,首先找到主动显示对应的Preference,

然后发现在AmbientDisplaySettings里注册了一些controller,

先关注里面的两个:AmbientDisplayNotificationsPreferenceController和AmbientDisplayAlwaysOnPreferenceController,看名字大概能知道,第一个与通知有关,应该是上文提到的息屏后来通知才显示;而第二个就是我们要找的“始终开启”。

AmbientDisplayAlwaysOnPreferenceController :

分析AmbientDisplayAlwaysOnPreferenceController的源码发现,AlwaysOn的enable和available状态都需要通过AmbientDisplayConfiguration 这个类来获得,并且这个类位于framework中。

简单介绍下AmbientDisplayConfiguration 中与alwaysOn有关的几个函数:

alwaysOnAvailable 为true需要同时满足两个条件:

alwaysOnEnabled 为true需要同时满足三个条件:

原来源码里面默认把AlwaysOn功能给关闭了,如果想启用这个功能,需要修改config.xml里的两个值或者强制alwaysOnAvailable返回true,修改后设置里的主动显示一栏就会多出一项“始终开启”可以勾选,这样一来我们的设备在息屏之后就能自动开启主动显示功能了。

以上源码均取自Android O

[RK3568][Android11]息屏显示介绍

一、息屏显示介绍


息屏显示又叫主动显示,是指在灭屏后可以显示日期时间电量通知等内容。
息屏显示的原理主要是利用了OLED屏幕像素点自发光的特性,功耗相比LCD屏幕要低很多。
设置项在:设置->显示->主动显示(高级中)

总共可以有如下4中设置:

  • a. 始终显示 - 只要灭屏就显示日期时间电量信息
  • b. 点击两次即显示 - 灭屏后点击屏幕2次显示日期时间电量信息
  • c. 拿起手机即显示 - 拿起手机后显示日期时间电量信息

以上是关于如何让Android设备实现息屏显示的主要内容,如果未能解决你的问题,请参考以下文章

[RK3568][Android11]息屏显示介绍

Android 如何让非 chromecast 设备不显示在选择列表中

Android音频开发:感应(息屏/亮屏)管理

Android音频开发:感应(息屏/亮屏)管理

Android音频开发:感应(息屏/亮屏)管理

android怎么设置显示监听