Android系統之路(初識MTK) ------ 預設第一次開機螢幕亮度/日期格式/picture makeer model

來源:互聯網
上載者:User

標籤:

今天給大家分享下關於修改MTK平台下系統首次開機的預設螢幕背光亮度,系統語言預設英語情況下修改日期格式,修改拍照屬性,具體修改的地方不清楚或者沒人告知的

話,請參照之前幾篇部落格的方法分享,現在直接進入主題

首先我們來修改第一次開機的螢幕亮度

①修改首次開機的系統預設螢幕背光亮度,我是在該java下修改的------(把注釋的地方都去掉,因為注釋的地方都是修改了的)

packages\apps\Settings\src\com.mediatek.settings\RestoreRotationReceiver.java

//    private SharedPreferences mSharedPreferences;        @Override    public void onReceive(Context context, Intent intent) {        String action = intent.getAction();        Log.v("RestoreRotationReceiver_IPO", action);//        mSharedPreferences = context.getSharedPreferences("walpad_first_run",Context.MODE_PRIVATE);        if (action.equals(Intent.ACTION_BOOT_COMPLETED)                || action.equals("android.intent.action.ACTION_BOOT_IPO")) {            sRestoreRetore = Settings.System.getInt(context                    .getContentResolver(),                    Settings.System.ACCELEROMETER_ROTATION_RESTORE, 0) != 0;                        // Engineer-Jsp add Unknown sources and Usb debugging default true             if (android.os.SystemProperties.isWalPadVersion() && !isFirstRunSettings(context)) {                  // reboot first default unkonwn sources check                  Settings.Global.putInt(context.getContentResolver(), Settings.Global.INSTALL_NON_MARKET_APPS,1);                  // reboot first default usb debugging check                Settings.Global.putInt(context.getContentResolver(),Settings.Global.ADB_ENABLED, 1);                // save first reboot falgs boolean//                mSharedPreferences.edit().putString("isfirstrun", String.valueOf(true)).commit();                // firstrun defaulr birghtness value for 100%//                setWalpadCFirstRunDefaultBrightness(context);            }                          if (sRestoreRetore) {                Settings.System.putInt(context.getContentResolver(),                        Settings.System.ACCELEROMETER_ROTATION, 1);                Settings.System.putInt(context.getContentResolver(),                        Settings.System.ACCELEROMETER_ROTATION_RESTORE, 0);            }        }    }    /**     * ***- MTK-6582-8382© -***      * isFirstRunSettings(Context context)     * walpad c firstrun need default false     * Engineer-Jsp add     * */         public boolean isFirstRunSettings(Context context){if (TextUtils.isEmpty(mSharedPreferences.getString("isfirstrun", ""))) {mSharedPreferences.edit().putString("isfirstrun", String.valueOf(false)).commit();}return Boolean.valueOf(mSharedPreferences.getString("isfirstrun", ""));    }    /**     * ***- MTK-6582-8382© -***      * setWalpadCFirstRunDefaultBrightness(Context context)     * walpad c firstrun need default settings brightness value for 100%     * Engineer-Jsp add     * */         public void setWalpadCFirstRunDefaultBrightness(Context context){        try{              Uri uri = Settings.System.getUriFor(Settings.System.SCREEN_BRIGHTNESS);            Settings.System.putInt(context.getContentResolver(), Settings.System.SCREEN_BRIGHTNESS, 255);              context.getContentResolver().notifyChange(uri, null);          }  catch (Exception localException){              localException.printStackTrace();            }     }

背光值最大 255 ,所以我們設定到最大就OK,意思是100%螢幕亮度,執行條件是我自己寫的,分別是 android.os.SystemProperties.isWalPadVersion(),這個函數也是

我在系統代碼裡自己添加的,前面幾篇部落格也有提到,這裡就不細說了,首次開機的記錄,因為我們只需要第一次開機設定100%的螢幕亮度

②日期格式修改

packages\apps\Settings\src\com\android\settings\DateTimeSettings.java

    @Override    public void onCreate(Bundle icicle) {        super.onCreate(icicle);        addPreferencesFromResource(R.xml.date_time_prefs);        initUI();        /// M: get plug in and move roaming time setting into date and time settings @{        mExt = UtilsExt.getDateTimeSettingsPlugin(getActivity());        mExt.customizePreferenceScreen(getActivity(), getPreferenceScreen());        /// @}    }

修改initUI之前的原始系統代碼:

   private void initUI() {        boolean autoTimeEnabled = getAutoState(Settings.Global.AUTO_TIME);        boolean autoTimeZoneEnabled = getAutoState(Settings.Global.AUTO_TIME_ZONE);        ///M: MTK use ListPreference instead of google CheckboxPerference......        String [] dateFormats = getResources().getStringArray(R.array.date_format_values);        String [] formattedDates = new String[dateFormats.length];        String currentFormat = getDateFormat();        // Initialize if DATE_FORMAT is not set in the system settings        // This can happen after a factory reset (or data wipe)        if (currentFormat == null) {            currentFormat = "";        }        // Prevents duplicated values on date format selector.        mDummyDate.set(mDummyDate.get(Calendar.YEAR), mDummyDate.DECEMBER, 31, 13, 0, 0);        for (int i = 0; i < formattedDates.length; i++) {            String formatted =                    DateFormat.getDateFormatForSetting(getActivity(), dateFormats[i])                    .format(mDummyDate.getTime());            if (dateFormats[i].length() == 0) {                formattedDates[i] = getResources().                    getString(R.string.normal_date_format, formatted);            } else {                formattedDates[i] = formatted;            }        }        mDateFormat.setEntries(formattedDates);        mDateFormat.setEntryValues(R.array.date_format_values);        mDateFormat.setValue(currentFormat);......    }

原始getDateFormat():

    private String getDateFormat() {            return Settings.System.getString(getContentResolver(),                Settings.System.DATE_FORMAT);    }

修改如下(修改為日期格式預設日月年):

initUI:

   private void initUI() {        boolean autoTimeEnabled = getAutoState(Settings.Global.AUTO_TIME);        boolean autoTimeZoneEnabled = getAutoState(Settings.Global.AUTO_TIME_ZONE);        ///M: MTK use ListPreference instead of google CheckboxPerference......        String [] dateFormats = getResources().getStringArray(R.array.date_format_values);        String [] formattedDates = new String[dateFormats.length];        String currentFormat = getDateFormat(dateFormats[2]);        // Initialize if DATE_FORMAT is not set in the system settings        // This can happen after a factory reset (or data wipe)        if (currentFormat == null) {            currentFormat = "";        }        // Prevents duplicated values on date format selector.        mDummyDate.set(mDummyDate.get(Calendar.YEAR), mDummyDate.DECEMBER, 31, 13, 0, 0);        for (int i = 0; i < formattedDates.length; i++) {            String formatted =                    DateFormat.getDateFormatForSetting(getActivity(), dateFormats[i])                    .format(mDummyDate.getTime());            if (dateFormats[i].length() == 0) {                formattedDates[i] = getResources().                    getString(R.string.normal_date_format, formatted);            } else {                formattedDates[i] = formatted;            }        }        mDateFormat.setEntries(formattedDates);        mDateFormat.setEntryValues(R.array.date_format_values);        mDateFormat.setValue(currentFormat);......    }

修改DateFormat():

    private String getDateFormat(String format) {        // Engineer-Jsp add walpad c default date format     if(android.os.SystemProperties.isWalPadVersion()){            Settings.System.putString(getContentResolver(),                    Settings.System.DATE_FORMAT, format);    }        return Settings.System.getString(getContentResolver(),                Settings.System.DATE_FORMAT);    }


R.array.date_format_values:

    <string-array name="date_format_values" translatable="false">        <!-- The blank item means to use whatever the locale calls for. -->        <item></item>        <item>MM-dd-yyyy</item>        <item>dd-MM-yyyy</item>        <item>yyyy-MM-dd</item>        <item>EE-MMM-d-yyyy</item>        <item>EE-d-MMM-yyyy</item>        <item>yyyy-MMM-d-EE</item>    </string-array>

dateFormats[2] == <item>dd-MM-yyyy</item>

③picture makeer model ,修改 buildinfo.sh 檔案,model\product 屬性

修改之前:


修改之後:



第③是編譯之後的,前面兩個的就沒有貼出來了

Android系統之路(初識MTK) ------ 預設第一次開機螢幕亮度/日期格式/picture makeer model

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.