您的位置:首页 > 移动开发 > Android开发

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

2015-11-27 16:34 615 查看
检查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) {
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: