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

检查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;
                }
            }
    }

实现父类的方法:

@Override
public 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());
        }
    }
}

@Override
public void onInputDeviceChanged(int deviceId) {
}

@Override
public void onInputDeviceRemoved(int deviceId) {
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值