赞
踩
写在前面: 写这篇文章的背景是这样的,本来在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" />
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。