【发布时间】:2014-04-15 08:24:06
【问题描述】:
我想从连接到我的 Android 的操纵杆中捕捉按键事件和运动事件。
我正在使用 InputManager.InputDeviceListener,但支持的最低 API 级别是 14,InputManager.InputDeviceListener 需要 API 级别 16。
您知道 API 级别 14 支持的解决方案吗?
没有编译的代码:
public class MyActivity extends Activity implements InputManager.InputDeviceListener {
@Override
public void onResume() {
inputManager.registerInputDeviceListener(this, null);
// Query all input devices.
// We do this so that we can see them in the log as they are enumerated.
int[] ids = inputManager.getInputDeviceIds();
for (int i = 0; i < ids.length; i++)
{
getInputDeviceState(ids[i]);
}
}
@Override
protected void onPause()
{
inputManager.unregisterInputDeviceListener(this);
}
public InputDeviceState getInputDeviceState(int deviceId)
{
InputDeviceState state = inputDeviceStates.get(deviceId);
if (state == null)
{
final InputDevice device = inputManager.getInputDevice(deviceId);
if (device == null)
{
return null;
}
state = new InputDeviceState(device);
inputDeviceStates.put(deviceId, state);
}
return state;
}
}
代码来自 Android 示例。
【问题讨论】: