Android的东西,如何捕捉一个进程

Android的东西,如何捕捉一个进程,android,hardware,android-things,pwm,android-hardware,Android,Hardware,Android Things,Pwm,Android Hardware,由于Android Things一次只运行一个应用程序,我不确定在终止/回退/恢复进程方面,这些规则与普通Android操作系统有何不同 我的Android Things用例并不琐碎。我用PWM通道控制执行器。问题是,如果我设置了“移动命令”,然后出现致命异常或其他此类中断,我的应用程序将崩溃,但执行器臂仍在移动(因为PWM屏蔽保留其电源和值)!由于这些武器控制着一艘正在移动的船只,这是相当危险的 是否有某种方式,以某种方式拦截进程的终止,以便我可以得到我的PWM“零输出”命令?还是有什么办法可

由于Android Things一次只运行一个应用程序,我不确定在终止/回退/恢复进程方面,这些规则与普通Android操作系统有何不同

我的Android Things用例并不琐碎。我用PWM通道控制执行器。问题是,如果我设置了“移动命令”,然后出现致命异常或其他此类中断,我的应用程序将崩溃,但执行器臂仍在移动(因为PWM屏蔽保留其电源和值)!由于这些武器控制着一艘正在移动的船只,这是相当危险的

是否有某种方式,以某种方式拦截进程的终止,以便我可以得到我的PWM“零输出”命令?还是有什么办法可以在我的主应用程序死机后立即启动其他进程来玩Android游戏

由于Android Things一次只运行一个应用程序,我不确定在终止/回退/恢复进程方面,这些规则与普通Android操作系统有何不同

这不完全是真的。Android Things与Android移动设备的多个前台和后台应用程序具有相同的语义。但是,由于没有默认的应用程序启动器,您必须捕获默认的
HOME
意图并成为前台应用程序。通过此应用程序,您可以在后台自由启动其他应用程序

是否有某种方式,以某种方式拦截进程的终止,以便我可以得到我的PWM“零输出”命令?还是有什么办法可以在我的主应用程序死机后立即启动其他进程来玩Android游戏

如果应用程序崩溃,Android会自动重新启动
HOME
活动(除非你在上面启动了其他活动,除非你有UI,否则不一定推荐这样做)。您可以使用它将硬件初始化为默认状态


另一个选项是让你的马达驱动逻辑在后台应用程序的绑定服务中运行。这将允许主应用程序作为监督者运行(当绑定服务死亡时会收到通知)并重置PWM(或重新启动服务,从而正确初始化PWM)。

我想在前面的答案中添加一个好主意,重置onStart内硬件组件的状态,并添加适当的异常处理(例如,在意外断开连接的情况下)

服务理念很棒。我会尝试一下,然后回来。