Android系统之路(初识MTK) ------ 默认第一次开机屏幕亮度/日期格式/picture makeer model

今天给大家分享下关于修改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 属性

修改之前:

修改之后:

第③是编译之后的效果图,前面两个的效果图就没有贴出来了

时间: 2024-10-24 08:01:32

Android系统之路(初识MTK) ------ 默认第一次开机屏幕亮度/日期格式/picture makeer model的相关文章

Android系统之路(初识MTK) ------ OTA打包ROM安装系统img等到ZIP

在做OTA升级包的时候,我编译了好多次都没过.老是IO异常.刚開始以为是我 make 的错误.后来多次检查 Error 发现是我的配置信息写错了,与驱动project师一起检查源代码, 改动配置信息后再次 OTA 成功.顺便记下这个这个过程,避免以后再次犯这种错误 make -jxx otapackage / make -jxx 成功后 make -j24 otapackage 运行上述当中一个命令,将ROM打包到ZIP.可mv到TF运行安装升级等 出现的错误提示: <span style=&quo

Android 高级UI设计笔记23:Android 夜间模式之 两种常用方法(降低屏幕亮度+替换theme)

1. 夜间模式 所谓的夜间模式,就是能够根据不同的设定,呈现不同风格的界面给用户,而且晚上看着不伤眼睛.特别是一些新闻类App实现夜间模式是非常人性化的,增强用户体验. 2. 我根据网上的资料 以及自己代码亲测,总结如下两种方法: (1)降低屏幕亮度 (2)替换theme 3. 夜间模式之 降低屏幕亮度: (1)创建一个Android工程,命名为"夜间模式_利用屏幕亮度(App)",如下: (2)首先我们来到主布局之中,如下: 1 <LinearLayout xmlns:andr

Android系统移植与调试之-------&gt;如何修改开机动画的两种方式剖析【转】

本文转载自:http://blog.csdn.net/ouyang_peng/article/details/9564753 首先,我们先来分析一下源码: frameworks/base/cmds/bootanimation/BootAnimation.cpp 首先看一下定义的常量: BootAnimation::readyToRun() 进入一个if判断语句 BootAnimation::threadLoop() ==> BootAnimation::Android()会加载"image

Android 修改屏幕亮度方案

极力推荐Android 开发大总结文章:欢迎收藏 Android 开发技术文章大总结 本篇文章主要介绍 Android 开发中的部分知识点,通过阅读本篇文章,您将收获以下内容: 一.获取系统Settings 中的亮度 二.修改APP界面屏幕亮度,不会影响其他APP 三.修改系统Settings 中屏幕亮度,影响所有APP 四.完整代码实现 一.获取系统Settings 中的亮度 系统屏幕亮度值在(0~255)之间,获取方法很简单,只需要调用以下方法即可. /** * 1.获取系统默认屏幕亮度值

JavaScript在苹果系统日期格式问题

苹果系统下不支持“yyyy-MM-dd”和“yyyy.MM.dd”的日期格式,如:new Date("2016-06-27");会提示Invalid Date; 支持"yyyy/MM/dd"日期格式: 时间不支持毫秒,如new Date("2016-06-27 10:11:22.0"):;会提示Invalid Date;

Android 系统默认参数的修改

转自: http://www.th7.cn/Program/Android/201505/447097.shtml 写在前面的话 一般在新项目开始之初,我们需要针对客户需求进行各种系统默认属性的配置,通常这些属性都是通过build.prop.settings.db .default.xml.一些功能package下的 config.xml 等来进行初始化配置的. 那么,要满足客户的定制需求,对于我们开发者来说,修改SettingsProvider默认值,而第一次开机时,用来填充settings.

Android系统默认Home应用程序(Launcher)的启动过程源码分析

在前面一篇文章中,我们分析了Android系统在启动时安装应用程序的过程,这些应用程序安装好之后,还须要有一个Home应用程序来负责把它们在桌面上展示出来,在Android系统中,这个默认的Home应用程序就是Launcher了,本文将详细分析Launcher应用程序的启动过程. Android系统的Home应用程序Launcher是由ActivityManagerService启动的,而ActivityManagerService和PackageManagerService一样,都是在开机时由

Android系统默认Home应用程序(Launcher)的启动过程源代码分析

在前面一篇文章中,我们分析了Android系统在启动时安装应用程序的过程,这些应用程序安装好之后,还需要有一个 Home应用程序来负责把它们在桌面上展示出来,在Android系统中,这个默认的Home应用程序就是Launcher了,本文将详细分析 Launcher应用程序的启动过程. Android系统的Home应用程序Launcher是由ActivityManagerService启动的,而 ActivityManagerService和PackageManagerService一样,都是在开

Android系统中默认值的意义列表

转自:http://blog.csdn.net/yabg_zhi_xiang/article/details/51727844 在SettingsProvider中设置系统中默认值,我们可以在frameworks\base\packages\SettingsProvider\res\values\default.xml文件中看到常用的一些默认值,这次我就来详细解释下这里面默认的意义.当然,这不是全部的默认值,全部默认值得定义要在frameworks\base\core\java\android\