Android13 SystemUI(芯片平台RK3588 )。如何让tv版Android系统的SystemUI 走phone版本的启动路线?

写在前面: 写这篇文章的背景是这样的,本来在Phone版本的SystemUI中已经把想要的功能加好了,这时候boss为了适应项目的需求,把整个Android系统编译成TV版,结果就是写好的功能全部失效了,当时我还不知道SystemUI分为Phone(包含tablet)版和TV版,把我直接干得怀疑人生,后面几经波折解决了问题,感觉很有必要记录一下。

适用Android版本:Android13!芯片平台:RK3588
  原生SystemUI根据系统编译的目标版本(Android系统也分Phone、TV)不同,分为Phone版和TV版,两者启动的代码和功能有很大的区别,可以通过TAG为SystemUIBootTiming的日志看出区别:
Phone
在这里插入图片描述

TV
在这里插入图片描述
Phone、TV走的启动路线完全不一样。如果想让整个系统是TV版本,但是SystemUI走的是Phone路线,怎么改呢?见下面的Diff:

--- a/device/rockchip/common/tv/overlay/frameworks/base/core/res/res/values/config.xml
+++ b/device/rockchip/common/tv/overlay/frameworks/base/core/res/res/values/config.xml
@@ -38,7 +38,7 @@
              4  UI_MODE_TYPE_TELEVISION
              5  UI_MODE_TYPE_APPLIANCE
          Any other values will have surprising consequences. -->
-    <integer name="config_defaultUiModeType">4</integer>
+    <integer name="config_defaultUiModeType">1</integer>
     <bool name="config_lockUiMode">true</bool>

--- a/device/rockchip/common/tv/permissions/tv_core_hardware.xml
+++ b/device/rockchip/common/tv/permissions/tv_core_hardware.xml
@@ -47,7 +47,7 @@
     <feature name="android.software.leanback_only" />
     -->
     <feature name="android.software.leanback" />
-    <feature name="android.hardware.television" />
+<!-- <feature name="android.hardware.television" /> -->
     <feature name="android.software.live_tv" />
     <feature name="android.software.picture_in_picture" />
     <feature name="android.software.voice_recognizers" />


猜你喜欢

转载自blog.csdn.net/weixin_43522377/article/details/134676124