文章目录
-
- 开发平台基本信息
- 问题描述
- 解决方法
-
- 1. 系统设置屏蔽电池选项
- 2.隐藏状态栏电池图标
- 3.隐藏低功率系统弹框
- 4.隐藏下拉菜单电池图标
开发平台基本信息
芯片: 高通MSM8909 Android 7.1 msm-3.18
问题描述
Android系统有自己的电池选项。如果设备没有电池功能,则应删除系统中的电池选项,包括系统设置、状态栏、下拉菜单和低功率报警弹出框。
解决方法
1. 系统设置屏蔽电池选项
diff --git a/packages/apps/Settings/src/com/android/settings/SettingsActivity.java b/packages/apps/Settings/src/com/android/settings/SettingsActivity.java index 9047db9..b7fe5a9 100755 --- a/packages/apps/Settings/src/com/android/settings/SettingsActivity.java b/packages/apps/Settings/src/com/android/settings/SettingsActivity.java @@ -783,7 783,7 @@ public class SettingsActivity extends SettingsDrawerActivity implements Preferen }; mDevelopmentPreferences.registerOnSharedPreferenceChangeListener(mDevelopmentPreferencesListener); - registerReceiver(mBatteryInfoReceiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED)); //registerReceiver(mBatteryInfoReceiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
registerReceiver(mUserAddRemoveReceiver, new IntentFilter(Intent.ACTION_USER_ADDED));
registerReceiver(mUserAddRemoveReceiver, new IntentFilter(Intent.ACTION_USER_REMOVED));
@@ -798,7 +798,7 @@ public class SettingsActivity extends SettingsDrawerActivity implements Preferen
@Override
protected void onStop() {
super.onStop();
- unregisterReceiver(mBatteryInfoReceiver);
+ //unregisterReceiver(mBatteryInfoReceiver);
unregisterReceiver(mUserAddRemoveReceiver);
mDynamicIndexableContentMonitor.unregister();
}
@@ -1162,7 +1162,7 @@ public class SettingsActivity extends SettingsDrawerActivity implements Preferen
}
setTileEnabled(new ComponentName(packageName, Settings.PowerUsageSummaryActivity.class.getName()),
- mBatteryPresent, isAdmin, pm);
+ false, isAdmin, pm);
setTileEnabled(new ComponentName(packageName, Settings.UserSettingsActivity.class.getName()),
UserHandle.MU_ENABLED && UserManager.supportsMultipleUsers() && !Utils.isMonkeyRunning(), isAdmin, pm);
2.隐藏状态栏电池图标
diff --git a/frameworks/base/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java b/frameworks/base/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java
index d8b95cc..e50cdc9 100644
--- a/frameworks/base/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java
+++ b/frameworks/base/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java
@@ -66,7 +66,7 @@ public class BatteryMeterView extends ImageView implements
public void onTuningChanged(String key, String newValue) {
if (StatusBarIconController.ICON_BLACKLIST.equals(key)) {
ArraySet<String> icons = StatusBarIconController.getIconBlacklist(newValue);
- setVisibility(icons.contains(mSlotBattery) ? View.GONE : View.VISIBLE);
+ setVisibility(icons.contains(mSlotBattery) ? View.GONE : View.GONE);
}
}
3.隐藏低电量系统弹框
diff --git a/frameworks/base/packages/SystemUI/src/com/android/systemui/power/PowerUI.java b/frameworks/base/packages/SystemUI/src/com/android/systemui/power/PowerUI.java
index 13b8bd6..4113a66 100644
--- a/frameworks/base/packages/SystemUI/src/com/android/systemui/power/PowerUI.java
+++ b/frameworks/base/packages/SystemUI/src/com/android/systemui/power/PowerUI.java
@@ -208,7 +208,7 @@ public class PowerUI extends SystemUI {
&& bucket < 0) {
// only play SFX when the dialog comes up or the bucket changes
final boolean playSound = bucket != oldBucket || oldPlugged;
- mWarnings.showLowBatteryWarning(playSound);
+ //mWarnings.showLowBatteryWarning(playSound);
} else if (isPowerSaver || plugged || (bucket > oldBucket && bucket > 0)) {
mWarnings.dismissLowBatteryWarning();
} else {
4.隐藏下拉菜单电池图标
diff --git a/frameworks/base/packages/SystemUI/src/com/android/systemui/qs/tiles/BatteryTile.java b/frameworks/base/packages/SystemUI/src/com/android/systemui/qs/tiles/BatteryTile.java
old mode 100644
new mode 100755
index 985bc9f..af115ac
--- a/frameworks/base/packages/SystemUI/src/com/android/systemui/qs/tiles/BatteryTile.java
+++ b/frameworks/base/packages/SystemUI/src/com/android/systemui/qs/tiles/BatteryTile.java
@@ -72,6 +72,11 @@ public class BatteryTile extends QSTile<QSTile.State> implements BatteryControll
}
@Override
+ public boolean isAvailable() {
+ return false;
+ }
+
+ @Override
public int getMetricsCategory() {
return MetricsEvent.QS_BATTERY_TILE;
}