MTK Android 14 通过属性控制系统设置显示双栏或者单栏

第一步确认有添加静态库

复制代码
--- a/system_mssi_u0/vendor/mediatek/proprietary/packages/apps/MtkSettings/Android.bp
+++ b/system_mssi_u0/vendor/mediatek/proprietary/packages/apps/MtkSettings/Android.bp
@@ -72,6 +72,8 @@ android_library {
         "androidx.preference_preference",
         "androidx.recyclerview_recyclerview",
         "androidx.window_window",
+       "androidx.window.extensions",
+       "androidx.window.sidecar",
         "com.google.android.material_material",
         "setupcompat",
         "setupdesign",

第二步 验证

system_mssi_u0\vendor\mediatek\proprietary\packages\apps\MtkSettings\src\com\android\settings\activityembedding\ActivitvEmbeddingUtils.java 中isEmbeddingActivityEnabled 方法

返回值 true 时显示设置显示双栏

第三步修改源码

复制代码
--- a/system_mssi_u0/vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/android/settings/activityembedding/ActivityEmbeddingUtils.java
+++ b/system_mssi_u0/vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/android/settings/activityembedding/ActivityEmbeddingUtils.java
@@ -97,26 +97,33 @@ public class ActivityEmbeddingUtils {
      * </ul>
      */
     public static boolean isEmbeddingActivityEnabled(Context context) {
-        // Activity Embedding feature is not enabled if Settings doesn't enable large screen
-        // optimization or the device is not supported.
-        if (!isSettingsSplitEnabled(context)) {
-            Log.d(TAG, "isSettingsSplitSupported = false");
-            return false;
-        }
-        // Activity Embedding feature is not enabled if a user chooses to disable the feature.
-        if (!FeatureFlagUtils.isEnabled(context, FeatureFlagUtils.SETTINGS_SUPPORT_LARGE_SCREEN)) {
-            Log.d(TAG, "isFlagEnabled = false");
-            return false;
-        }
-        // Don't enable Activity embedding for setup wizard.
-        if (!WizardManagerHelper.isUserSetupComplete(context)) {
-            Log.d(TAG, "isUserSetupComplete = false");
-            return false;
-        }
-        Log.d(TAG, "isEmbeddingActivityEnabled = true");
-        return true;
+    // Activity Embedding feature is not enabled if Settings doesn't enable large screen
+    // optimization or the device is not supported.
+    if (!isSettingsSplitEnabled(context)) {
+        Log.d(TAG, "isSettingsSplitSupported = false");
+        return false;
     }
 
+    // Activity Embedding feature is not enabled if a user chooses to disable the feature.
+    if (!FeatureFlagUtils.isEnabled(context, FeatureFlagUtils.SETTINGS_SUPPORT_LARGE_SCREEN)) {
+        Log.d(TAG, "isFlagEnabled = false");
+        return false;
+    }
+
+    // Don't enable Activity embedding for setup wizard.
+    if (!WizardManagerHelper.isUserSetupComplete(context)) {
+        Log.d(TAG, "isUserSetupComplete = false");
+        return false;
+    }
+
+    // Check ro.product.is_support_SettingsSplitEnabled system property
+    boolean isSupportSettingsSplitEnabled = "true".equals(SystemProperties.get("ro.product.is_support_SettingsSplitEnabled", "true"));
+    Log.d(TAG, "yim test isEmbeddingActivityEnabled = " + isSupportSettingsSplitEnabled);
+
+    return isSupportSettingsSplitEnabled;
+       }
+
+

在合适的地方配置 ro.product.is support SettingsSplitEnabled 即可。

相关推荐
Android小码家42 分钟前
framework&framework-minus-apex&android.jar的区别
android·python·jar
技术风向解码者1 小时前
安卓跨端选型:为什么优先看 Kuikly
android
科小怪1 小时前
大肥鱼桌宠下载(2026最新版):在安卓桌面上养一条会走会弹会碎碎念的胖鱼
android
qq3621967051 小时前
安卓安装包完整性校验:怎么确认下载的 APK 没被动过手脚
android
FLJwu1 小时前
《运动相机硬件防护选型实战》专栏|第二篇(PPTC 自恢复保险丝)
android·经验分享·数码相机·1024程序员节·运动相机
驰骋工作流12 小时前
流程时效考核的表结构:从待办时限到 WF_CH 考核结果驰骋BPM驰骋低代码低代码工作流引擎
android·低代码·rxjava
传奇开心果编程13 小时前
【Flutter踩坑排雷】第7课:巨型 build 函数坑|全部 UI 写在同一个 build,维护难、隐性异常
android·flutter·ios·移动开发·跨平台·dart·声明式ui
方白羽17 小时前
Android 双开环境底层剖析与风控检测落地
android·安全·app
weixin_5633714717 小时前
Android Studio 2024 版 Device Explorer 打开方法
android·ide·android studio
AIsoft_868920 小时前
职场音频文件怎么整理?录音APP有哪些用法
android·音视频