android检查是否插入OTG鼠标或键盘代码

来源:互联网 发布:网络四大名著三大奇书 编辑:程序博客网 时间:2024/06/05 10:14

检查otg设备是否是鼠标或键盘
首先需要继承InputManager.InputDeviceListener:
public class OTGTest extends BaseActivity implements InputManager.InputDeviceListener

private InputManager mIm;    mIm = (InputManager) getSystemService(INPUT_SERVICE);    mIm.registerInputDeviceListener(this, null);    if(mIm == null) {        mIm = (InputManager) getSystemService(INPUT_SERVICE);        mIm.registerInputDeviceListener(this, null);    }    final int[] devices = InputDevice.getDeviceIds();    for (int i = 0; i < devices.length; i++) {        InputDevice device = InputDevice.getDevice(devices[i]);              if (device != null && !device.isVirtual() && device.isExternal()) {                if(device.getName().contains("Mouse") || device.getName().contains("Keyboard")) {    Log.d(TAG, "device.getName()=" + device.getName() + " device.getId() " + device.getId() + " getDescriptor " + device.getDescriptor());                    break;                }            }    }

实现父类的方法:

@Overridepublic void onInputDeviceAdded(int deviceId) {    Log.d("huasong", "onInputDeviceRemoved " + deviceId);    InputDevice device = InputDevice.getDevice(deviceId);      if (device != null && !device.isVirtual() && (device.isFullKeyboard() || device.isExternal())) {        if(device.getName().contains("Mouse") || device.getName().contains("Keyboard")) {            Log.d(TAG, "device.getName()=" + device.getName() + " device.getId() " + device.getId() + " getDescriptor " + device.getDescriptor());        }    }}@Overridepublic void onInputDeviceChanged(int deviceId) {}@Overridepublic void onInputDeviceRemoved(int deviceId) {}
1 0
原创粉丝点击