Adnroid系统定制的时候,有时客户会对系统默认的输入法和键盘有定制需求,下面是在定制过程中遇到5.1系统和6.0系统的区别,备注一下以后好查阅:
相同点:
1.都是将默认的配置以永久存储的方式,写在文件里面
2.都是以key - value的形式存储
3.修改方式都可以在Adnroid源码的framework层的SettingsProvider进行默认配置
不同点:
1.存储文件形式不一样:
5.1以sqlite数据库的方式,数据库位置: /data/data/com.android.providers.settings/databases/settings.db
5.1
将数据库导出,通过SQLiteExpertPro察看
获取可选的键盘:
select * from secure where name = "enabled_input_methods";
设置默认键盘:
select * from secure where name = "default_input_method";
设置默认输入法:
select * from secure where name = "selected_input_method_subtype";
通过cmd命令窗口查看:
cd /data/data/com.android.providers.settings/databases
sqlite3 settings.db
select * from secure where name = "enabled_input_methods";
6.0
通过cmd命令窗口和adb调试工具察看:adb shell settings get secure default_input_method
相同点:
1.都是将默认的配置以永久存储的方式,写在文件里面
2.都是以key - value的形式存储
3.修改方式都可以在Adnroid源码的framework层的SettingsProvider进行默认配置
不同点:
1.存储文件形式不一样:
5.1以sqlite数据库的方式,数据库位置: /data/data/com.android.providers.settings/databases/settings.db
6.1用的xml文件的方式,文件位置:/data/system/users/0/(见截图)
2.察看方式不一样:
5.1
将数据库导出,通过SQLiteExpertPro察看
获取可选的键盘:
select * from secure where name = "enabled_input_methods";
设置默认键盘:
select * from secure where name = "default_input_method";
设置默认输入法:
select * from secure where name = "selected_input_method_subtype";
通过cmd命令窗口查看:
cd /data/data/com.android.providers.settings/databases
sqlite3 settings.db
select * from secure where name = "enabled_input_methods";
6.0
通过cmd命令窗口和adb调试工具察看:adb shell settings get secure default_input_method