带有bindservice和kotlin的Android Things-onResume和onPause或Coroutines或RxJava

时间:2019-03-29 05:05:01

标签: android kotlin raspberry-pi3 android-things bindservice

在此项目:https://github.com/neuberfran/SmartDrive5中,文件: ModoComFirebase.kt 。我有问题,PID已在使用BCM18,因为此gpio已在< strong> DriverService.kt 文件之前。

我的问题是:Application类 ModoAutomatico.kt 没有onPause和onResume方法。在这种情况下,如何使用前台服务来解决我的问题?enter image description here

1 个答案:

答案 0 :(得分:2)

  

应用程序类ModoAutomatico.kt没有onPause和onResume方法。

这是因为Application类是单例。它会在您的应用启动后立即启动,并且永远不会暂停,停止或销毁。由于您已经从应用程序绑定了DriverService,因此这意味着您的服务也始终在后台运行(除非它崩溃了)。

  

BCM18已被PID使用,因为此gpio之前已在DriverService.kt文件中打开。

一次只能与外围资源建立一个活动连接。如果要使用已在另一个组件中打开的GPIO,则必须先close()激活GPIO连接,然后才能打开新的GPIO。

如果您要从服务中管理所有按钮连接,则应用程序的其余部分应与该服务进行对话以与那些外设交互,而不是尝试处理多个GPIO连接。