android 如何在代码中修改setting 中的值

rui90102 2012-08-10 04:24:32
如题。。。
...全文
740 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
rui90102 2012-11-22
  • 打赏
  • 举报
回复
引用 1 楼 qinjuning 的回复:
你这个标题也太抽象了?不知道你说的是不是Settings数据库的值? 具体方法如下: 1、Settings相关数据库操作的包位于 framework/base/packages/SetingsProvider 修改Settings数据库的默认值(准确点说是第一次开机后的值) ,对应的是SettingsProvider,他的数据 自……
谢谢你的回答
qinjuning 2012-08-10
  • 打赏
  • 举报
回复
你这个标题也太抽象了?不知道你说的是不是Settings数据库的值?

具体方法如下:
1、Settings相关数据库操作的包位于 framework/base/packages/SetingsProvider
修改Settings数据库的默认值(准确点说是第一次开机后的值) ,对应的是SettingsProvider,他的数据
自定义SqlDatabaserHepler是 DataBaseHelper ,你可以去看看。

所有默认字段的添加对应文件时 : res/values/defaultx.xml


Settings数据库 保存路径位于: /com.android.provider.settings/databases/settings.db

不知道对不对,
2、如果修改特定的值的话,可以去Android SDK里看看这几个类的方法:
Settings/ Settings.system

这两个类都封装好了修改 Settings数据库字段的值。

具体使用方法如下:
 /** 
* 当所监听的Uri发生改变时,就会回调此方法
*
* @param selfChange 此值意义不大 一般情况下该回调值false
*/
@Override
public void onChange(boolean selfChange) {
Log.i(TAG, "-------------the airplane mode has changed-------------");

// 系统是否处于飞行模式下
try {
int isAirplaneOpen = Settings.System.getInt(mContext.getContentResolver(), Settings.System.AIRPLANE_MODE_ON);
Log.i(TAG, " isAirplaneOpen -----> " +isAirplaneOpen) ;
mHandler.obtainMessage(MSG_AIRPLANE,isAirplaneOpen).sendToTarget() ;
}
catch (SettingNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}


我的是获取飞行模式的值。

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧