android - 如何使用按钮调用 Android Things 中的方法
问题描述
每次按下此按钮时,我都需要使用一个按钮来调用方法。按键类型为GPIO
解决方案
来自https://developer.android.com/things/sdk/pio/gpio:
private val gpioCallback = object : GpioCallback {
override fun onGpioEdge(gpio: Gpio): Boolean {
// Read the active low pin state
if (gpio.value) {
// Pin is LOW
} else {
// Pin is HIGH
}
// Continue listening for more interrupts
return true
}
override fun onGpioError(gpio: Gpio, error: Int) {
Log.w(TAG, "$gpio: Error event $error")
}
}
注册回调:
class HomeActivity : Activity() {
private var gpio: Gpio? = null
...
override fun onStart() {
super.onStart()
// Begin listening for interrupt events
gpio?.registerGpioCallback(gpioCallback)
}
override fun onStop() {
super.onStop()
// Interrupt events no longer necessary
gpio?.unregisterGpioCallback(gpioCallback)
}
}
不要忘记<uses-permission android:name="com.google.android.things.permission.USE_PERIPHERAL_IO" />
在清单中添加权限。
推荐阅读
- ruby-on-rails - Rails 使用日期和时间、纬度和经度进行搜索
- influxdb - 是否可以在 Influxdb 中获得聚合数据的百分位数?
- amazon-web-services - 我们可以阻止 aws 代码提交存储库中的特定分支吗
- python - 如何按日/月/年按时间戳列分组,并在 Django 中同时选择该时间戳列
- python - 为什么我的情节不显示?我试过show(),我试过手动调用,还是没用?
- amazon-s3 - 将环境变量存储在 s3 文件中,当导入到本地系统时,应用程序在使用参数时会导致参数错误
- ajax - Shopify 中的内容安全违规
- pdf - 使用设置字体系列将 Markdown 转换为 pdf:Times New Roman
- typescript - 从对象数组创建一个 1-n
- python-3.x - 如何在时间戳数据框中按月求和?