1. 程式人生 > >Android6.0 移除電池設定

Android6.0 移除電池設定

Android6.0 移除設定中電池選項,只要關注setting app下有關電池的xml和程式碼,下面是我的具體做法,

1.註釋packages/apps/Settings/AndroidManifest.xml下電池相關模組

+<!-- 
             <meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
                 android:resource="@id/battery_settings" />
+-->
+<!-- 
             <meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
                 android:resource="@id/battery_settings" />
+-->
+<!-- 
             <meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
                 android:resource="@id/battery_settings" />
+-->

2.註釋packages/apps/Settings/res/xml/dashboard_categories.xml下電池模組

         <!-- Battery -->
+<!-- 
         <dashboard-tile
                 android:id="@+id/battery_settings"
                 android:title="@string/power_usage_summary_title"
                 android:fragment="com.android.settings.fuelgauge.PowerUsageSummary"
                 android:icon="@drawable/ic_settings_battery"
                 />
+-->

3.移除packages/apps/Settings/src/com/android/settings/SettingsActivity.java裡面的電池註冊模組

  // registerReceiver(mBatteryInfoReceiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));

  //unregisterReceiver(mBatteryInfoReceiver);

  在這個程式碼下搜R.id.battery_settings把這個相關程式碼也移除

到這裡基本可以移除電池設定了,執行起來後發現在狀態列還有電池圖示,移除電池圖示可以參考

隱藏狀態列圖示

後來還發現設定中關於平板下面的狀態資訊中還有電池相關的資訊,一併把他移除

1.註釋packages/apps/Settings/res/xml/device_info_status.xml

<!--
    <Preference android:key="battery_status"
        style="?android:attr/preferenceInformationStyle"
        android:title="@string/battery_status_title"
        android:summary="@string/device_info_not_available"
        android:persistent="false" />
    <Preference android:key="battery_level"
        style="?android:attr/preferenceInformationStyle"
        android:title="@string/battery_level_title"
        android:summary="@string/device_info_not_available"
        android:persistent="false" />
-->

2.packages/apps/Settings/src/com/android/settings/deviceinfo/Status.java 註釋相關程式碼

注意:如果只移除xml,進入設定後會提示錯誤,所以要把程式碼也移除,

經過上面的移除基本可以移除電池設定相關的內容。

上面的做法適用wifi,Bluetooth等的移除!!!