ADB命令后台修改系统默认输入法
今天要研究uiautomator如何输入中文,看网上有一种常用的解决办法:http://www.cnblogs.com/yajing-zh/p/5125387.html在这篇博客最后提出来的问题,也是本篇博客的由来。
涉及到输入法的相关问题,所以想着是否可以在后台修改输入法。
想修改默认输入法,必须知道手机支持哪几种输入法才可以,在此致辞,假如你想修改成哪种输入法,就必须先安装其相应的apk。
关于手机支持的输入法信息,存在于Android手机的/data/data/com.android.providers.settings/databases/settings.db文件中。所以需要执行
“adb pull /data/data/com.android.providers.settings/databases/settings.db” 命令,pull出来,之后用db文件查看器SQLiteSpy(http://www.liangchan.net/liangchan/4599.html)打开settings.db文件
其中的enabled_input_methods的值是
_id | name | value |
---|---|---|
63 | enabled_input_methods | com.android.inputmethod.latin/.LatinIME:com.sohu.inputmethod.sogou/.SogouIME:jp.jun_nama.test.utf7ime/.Utf7ImeService |
证明有三种可用的输入法:
com.android.inputmethod.latin/.LatinIME
com.sohu.inputmethod.sogou/.SogouIME
jp.jun_nama.test.utf7ime/.Utf7ImeService
假如想设置sougou为默认输入法,则执行:
adb shell settings put secure default_input_method com.sohu.inputmethod.sogou/.SogouIME
执行完毕,Android手机设置里的当前输入法立马变成搜狗!已经亲自试过,很有效!
获取手机的默认输入法是:adb shell settings get secure default_input_method
根据这个思路,应该可以直接修改设置里的所有菜单,但具体实施起来到底可行否,还需探究。