我正在基于飞思卡尔iMX6的定制主板上移植Android Kitkat 4.4.2。 Android现在正常运行,但无论运行什么应用程序,它都需要永久保持屏幕开启。
我正在浏览AOSP代码以找出要注释的功能以禁用屏幕超时功能但到目前为止没有成功。你们能指出正确的文件/功能吗?
到目前为止,我已经尝试在框架/ base / services / java / com / android / server / power / PowerManagerService.java中注释掉goToSleepInternal()函数内的代码,但它没有禁用屏幕超时。
答案 0 :(得分:2)
对于那些偶然发现这个问题并正在寻找不需要更改源代码的解决方案的人:
您可以使用叠加更改“开发人员选项”中“保持开启屏幕”设置的默认值。只需将以下行添加到< ...> /overlay/frameworks/base/packages/SettingsProvider/res/values/defaults.xml:
<bool name="def_stay_on_while_plugged_in">true</bool>
答案 1 :(得分:1)
我终于自己解决了这个问题。
我在文件handleUserActivityTimeout()
中对frameworks/base/services/java/com/android/server/power/PowerManagerService.java
的函数调用进行了评论:
@@ -2511,7 +2511,7 @@ public final class PowerManagerService extends IPowerManager.Stub
public void handleMessage(Message msg) {
switch (msg.what) {
case MSG_USER_ACTIVITY_TIMEOUT:
- handleUserActivityTimeout();
+ //handleUserActivityTimeout();
break;
case MSG_SANDMAN:
handleSandman();
答案 2 :(得分:0)
创建一个启动器应用程序,然后从该调用中调用代码以保持屏幕显示如下: