android Setting添加配置项
开发过程中,经常会用到一些系统配置比如添加自动打开蓝牙,自动连接,自动下载等配置项。可以提供默认的配置项,用户也可以修改该配置项,修改后后续读取用户设置的配置项。如果恢复了出厂设置则重新使用默认的配置项。1、在Setting.java里面添加配置项在Setting.java的System里面添加常量/*** Determines whe...
开发过程中,经常会用到一些系统配置比如添加自动打开蓝牙,自动连接,自动下载等配置项。可以提供默认的配置项,用户也可以修改该配置项,修改后后续读取用户设置的配置项。如果恢复了出厂设置则重新使用默认的配置项。
1、在Setting.java里面添加配置项
在Setting.java的System里面添加常量
/**
* Determines whether auto open bluetooth when system on.
* * <P>Type: INT</P>
* 0 -- determines whether Bluetooth open based on the state of last time
* 1 -- open bluetooth when system on
* 2 -- always do not automatically open Bluetooth
*/
public static final String BLUETOOTH_AUTO_OPEN = "bluetooth_auto_open";
2、修改Setting.java Setting数组
public static final String[] SETTINGS_TO_BACKUP = {
STAY_ON_WHILE_PLUGGED_IN, // moved to global
WIFI_USE_STATIC_IP,
WIFI_STATIC_IP,
WIFI_STATIC_GATEWAY,
WIFI_STATIC_NETMASK,
WIFI_STATIC_DNS1,
WIFI_STATIC_DNS2,
BLUETOOTH_DISCOVERABILITY,
BLUETOOTH_DISCOVERABILITY_TIMEOUT,
BLUETOOTH_AUTO_OPEN,
3、修改default.xml默认值
frameworks/base/packages/SettingsProvider/res/values/defaults.xml
4、将默认值设置到数据读取DatabaseHelper中
private void loadSystemSettings(SQLiteDatabase db) {
SQLiteStatement stmt = null;
try {
stmt = db.compileStatement("INSERT OR IGNORE INTO system(name,value)"
+ " VALUES(?,?);");
loadBooleanSetting(stmt, Settings.System.DIM_SCREEN,
R.bool.def_dim_screen);
loadIntegerSetting(stmt, Settings.System.SCREEN_OFF_TIMEOUT,
R.integer.def_screen_off_timeout);
// Set default cdma DTMF type
loadSetting(stmt, Settings.System.DTMF_TONE_TYPE_WHEN_DIALING, 0);
// Set default hearing aid
loadSetting(stmt, Settings.System.HEARING_AID, 0);
// Set default tty mode
loadSetting(stmt, Settings.System.TTY_MODE, 0);
loadIntegerSetting(stmt, Settings.System.SCREEN_BRIGHTNESS,
R.integer.def_screen_brightness);
loadIntegerSetting(stmt, Settings.System.SCREEN_BRIGHTNESS_FOR_VR,
com.android.internal.R.integer.config_screenBrightnessForVrSettingDefault);
loadBooleanSetting(stmt, Settings.System.SCREEN_BRIGHTNESS_MODE,
R.bool.def_screen_brightness_automatic_mode);
loadBooleanSetting(stmt, Settings.System.ACCELEROMETER_ROTATION,
R.bool.def_accelerometer_rotation);
loadDefaultHapticSettings(stmt);
loadBooleanSetting(stmt, Settings.System.NOTIFICATION_LIGHT_PULSE,
R.bool.def_notification_pulse);
loadUISoundEffectsSettings(stmt);
loadIntegerSetting(stmt, Settings.System.POINTER_SPEED,
R.integer.def_pointer_speed);
loadIntegerSetting(stmt, Settings.System.BLUETOOTH_AUTO_OPEN,
R.integer.def_bluetooth_auto_open);
更多推荐
所有评论(0)