【发布时间】:2015-04-21 21:01:31
【问题描述】:
总结:
尝试开发一个应用程序,该应用程序可以通过代码中的 if-else 语句在手机上安装的键盘之间切换。是否可以在不root设备的情况下执行此操作?
请注意:
我的卑微研究只导致能够在有根设备上执行此操作,否则这是不可能的,应该由用户手动完成 - 但这是相对较旧的信息(从 2011 年开始),所以现在可能吗?
背景故事:
目前,(在教程的帮助下),我们制作了一个自定义键盘的应用程序,我们希望让应用程序(代表用户)以编程方式在此自定义键盘和手机的默认键盘之间切换.
我们是如何做到的:
在其中一个实现 KeyboardView 的类中,有这段代码:
public View onCreateInputView() {
KeyboardView kv = (KeyboardView)getLayoutInflater().inflate(R.layout.keyboard, null);
Keyboard keyboard = new Keyboard(this, R.xml.qwerty);
kv.setKeyboard(keyboard);
kv.setOnKeyboardActionListener(this);
return kv;
}
似乎这条语句:kv.setKeyboard(keyboard); 可以改变键盘,所以如果我们添加类似的语句但改变它的参数以引用默认键盘,那么可以有效地进行切换?
如果是,那么如何引用默认键盘?
【问题讨论】: