Обратите внимание, что предыдущий ответ совершенно правильный.Однако вместо этого вы можете использовать драйвер кнопки из contrib-драйверов, который упрощает создание и обработку периферийных устройств, а также добавляет отладку.
Вам необходимо добавить библиотеку в зависимости gradle.
dependencies {
[...]
implementation 'com.google.android.things.contrib:driver-button:+'
}
А затем инициализируйте его и зарегистрируйте OnButtonEventListener
.
class ButtonDriverActivity : Activity() {
private lateinit var button: Button
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
button = Button(GPIO_BUTTON, Button.LogicState.PRESSED_WHEN_LOW)
buttonA.setOnButtonEventListener { button: Button, state: Boolean ->
// Your code here
}
}
override fun onDestroy() {
super.onDestroy()
button.close()
}
}
Не забудьте добавить разрешение <uses-permission android:name="com.google.android.things.permission.USE_PERIPHERAL_IO" />
в манифест.