检测虚拟键盘类型-android



我有一个android应用程序,它处理来自标准键盘的输入不同于Swype键盘的输入。是否有任何方法以编程方式找出当前正在使用的键盘?

谢谢!

最好的方法是使用InputDeviceId。

int[] devicesIds = InputDevice.getDeviceIds();
for (int deviceId : devicesIds) {
    //Check the device you want
    InputDevice device = InputDevice.getDevice(deviceId);
    //device.getName must to have virtual
    //That check the keyboard type
    device.getKeyboardType(); //returns an int
}
参考:

https://developer.android.com/reference/android/view/InputDevice.html getKeyboardType % 28% 29日

使用Settings的安全静态内部类来获取默认键盘类型

String defaultKeyboard = Settings.Secure.getString(context.getContentResolver(),
                    Settings.Secure.DEFAULT_INPUT_METHOD);

返回类型将是一个用"/"分隔的字符串序列,因此将该字符串wrt分割为斜杠以获得子字符串列表。该列表的第一个元素将为您提供默认键盘的包名。

defaultKeyboard = defaultKeyboard.split("/")[0];

p。S -包装设置的好方法。使用try catch实现安全调用

相关内容

  • 没有找到相关文章

最新更新