1. 程式人生 > >android6.0設定-電池-智慧省電

android6.0設定-電池-智慧省電

                                              MTK Android6.0設定中的智慧省電預設關閉

        對於大多部分的setting中的配置資訊,在default.xml檔案中都有配置,但是也有一些設定中的配置資訊在配置檔案中沒有的,所以就需要各位在原始碼中找到程式碼所處的位置,進行判斷分析是否關閉或者開啟。所以,就有了今天的博文。

       以下是MTK Android6.0中的原始碼資訊,高通、瑞芯微等原始碼僅供參考:

原始碼位置:alps\packages\apps\Settings\src\com\mediatek\settings\fuelgauge\PowerUsageExts.java

    // init power usage extends items   按鈕初始化的分析
    public void initPowerUsageExtItems() {
        // background power saving
        if (FeatureOption.MTK_BG_POWER_SAVING_SUPPORT
                && FeatureOption.MTK_BG_POWER_SAVING_UI_SUPPORT) {
            mBgPowerSavingPrf = new SwitchPreference(mContext);
            mBgPowerSavingPrf.setKey(KEY_BACKGROUND_POWER_SAVING);
            mBgPowerSavingPrf.setTitle(R.string.bg_power_saving_title);
            mBgPowerSavingPrf.setOrder(PREFERENCE_ORDER_FIRST);
            mBgPowerSavingPrf.setChecked(Settings.System.getInt(mContext.getContentResolver(),
                    Settings.System.BG_POWER_SAVING_ENABLE, 0) != 1);  //modified BG_POWER_SAVING_ENABLE Off by default 
            mPowerUsageScreen.addPreference(mBgPowerSavingPrf);
        }
    }

    // on click  待機智慧省電小按鈕的響應事件
    public boolean onPowerUsageExtItemsClick(PreferenceScreen preferenceScreen,
            Preference preference) {
        if (KEY_BACKGROUND_POWER_SAVING.equals(preference.getKey())) {
            if (preference instanceof SwitchPreference) {
                SwitchPreference pref = (SwitchPreference) preference;
                int bgState = pref.isChecked() ? 1 : 0;
                Log.d(TAG, "background power saving state: " + bgState);
                Settings.System.putInt(mContext.getContentResolver(),
                        Settings.System.BG_POWER_SAVING_ENABLE, bgState);
                if (mBgPowerSavingPrf != null) {
                    mBgPowerSavingPrf.setChecked(pref.isChecked());
                }
            }
            // If user click on PowerSaving preference just return here
            return true;
        }
        return false;
    }

       到此,Settings中的電池->待機智慧省電就可以自行改寫了。