我是 Java/Android 新手。我正在尝试使用来自 android.widget.Button 和 com.google.android.things.contrib.driver.button.Button 的屏幕“按钮”从硬件和视觉按钮获取输入。由于名称相同,Android Studio 不允许导入这两个包。我使用这些直接命名。
mButtonInputDriver = new ButtonInputDriver(BoardDefaults.getGPIOForButton(),com.google.android.things.contrib.driver.button.Button.LogicState.PRESSED_WHEN_LOW, KeyEvent.KEYCODE_SPACE);
mButtonInputDriver.register();
他们仍然被称为一体。 IE; HW 按钮和当前 Activity 屏幕按钮的点击被视为一次。如何将这两者分开?
最佳答案
如果您不希望硬件按钮进入 Android 的正常按钮机制(即 InputDriver 功能)。那么你应该直接使用 Button
库:
mButton = new Button(gpioPinName,
Button.LogicState.PRESSED_WHEN_LOw
);
mButton.setOnButtonEventListener(new OnButtonEventListener() {
@Override
public void onButtonEvent(Button button, boolean pressed) {
// do something awesome when the Hardware button is pressed only
}
});
https://github.com/androidthings/contrib-drivers/tree/master/button
(而不是使用 ButtonInputDriver
向系统注册)
关于android - com.google.android.things.contrib.driver.button.Button 与 android.widget.Button,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45647453/