问题描述:
android系统有多用户功能,行业机需要屏蔽此功能,并且从UI上删除用户图标,如下图所示:解决方案:
直接上代码
Index: device/qcom/msm8909/overlay/frameworks/base/core/res/res/values/config.xml
===================================================================
--- device/qcom/msm8909/overlay/frameworks/base/core/res/res/values/config.xml (版本 7124)
+++ device/qcom/msm8909/overlay/frameworks/base/core/res/res/values/config.xml (工作副本)
@@ -76,4 +76,11 @@
The default is false.
-->
<bool name="config_suspendWhenScreenOffDueToProximity">true</bool>
+
+ <!-- Maximum number of supported users -->
+ <integer name="config_multiuserMaximumUsers">1</integer>
+ <!-- Whether Multiuser UI should be shown -->
+ <bool name="config_enableMultiUserUI">false</bool>
</resources>
Index: frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java
===================================================================
--- frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java (版本 7124)
+++ frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java (工作副本)
@@ -121,6 +121,11 @@
} else if (mMultiUserSwitch.getParent() == this && mKeyguardUserSwitcherShowing) {
removeView(mMultiUserSwitch);
}
+ if (!getResources().getBoolean(com.android.internal.R.bool.config_enableMultiUserUI)) {
+ mMultiUserSwitch.setVisibility(View.GONE);
+ }
mBatteryLevel.setVisibility((mBatteryCharging || mShow) ? View.VISIBLE : View.GONE);
}
Index: frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarHeaderView.java
===================================================================
--- frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarHeaderView.java (版本 7124)
+++ frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarHeaderView.java (工作副本)
@@ -359,6 +359,11 @@
if (mSignalCluster != null) {
updateSignalClusterDetachment();
}
+ if (!getResources().getBoolean(com.android.internal.R.bool.config_enableMultiUserUI)) {
+ mMultiUserSwitch.setVisibility(View.GONE);
+ }
mEmergencyCallsOnly.setVisibility(mExpanded && mShowEmergencyCallsOnly ? VISIBLE : GONE);
mBatteryLevel.setVisibility((mExpanded || mShowBatteryPercent) ? View.VISIBLE : View.GONE);
}
通过config_enableMultiUserUI和config_multiuserMaximumUsers控制设置中的菜单和实际功能。
KeyguardStatusBarView.java和StatusBarHeaderView.java将用户图标隐藏。