你可能知道在adb shell中,可以通过setprop和getprop指令来写入或读取设置,那么在代码中我们怎么去添加一个属于我们自己的设置项呢?
1.framework/base/core/java/android/provider/Settings.java添加setting的定义:
public static final String MY_SETTING= "my_setting";
...
public static final String[] SETTINGS_TO_BACKUP =
{
...
MY_SETTING
};
2.framework/base/packages/settingsprovider/res/values/defaults.xml里面添加默认值定义:
<!-- Default for my setting -->
<integer name="my_setting">0</integer>
3.framework/base/packages/settingsprovider/src/com/android/providers/settings/databaseHelper.java里面设置默认值:
// set default value for my setting
loadIntegerSetting(stmt,Settings.System.MY_SETTING,R.integer.my_setting);
4.到此,新setting的添加就算ok了,接下来就是在代码中使用了:
写入setting:
Settings.System.putIntForUser(mContext.getContentResolver(),
Settings.System.MY_SETTING, yourValue,
UserHandle.USER_CURRENT);
读取setting:
Settings.System.getInt(aContext.getContentResolver(),
Settings.System.MY_SETTING, defaultValue);
读取出来的值会作为返回值返回过来