我正在维护一个控制工业流程的Android应用程序。它有一个主要的活动/屏幕,允许您选择各种工业任务,每个任务都有自己的活动/屏幕。
问题 - 如果用户处于这些其他活动之一并且机器人进入睡眠状态(比如因为工作人员休息或去吃午餐),当它再次醒来时它会回到主活动中!
这很难调试,因为调试它我必须连接到USB,当它连接到USB时它不会进入睡眠状态。
1。哪些活动生命周期事件与其进入睡眠状态相关联?它实际上意味着什么才能入睡 - 显示器熄灭但显然其他东西也在发生,因为当它醒来时它处于不同的活动中。
2. 有没有办法可以让它进入睡眠模式,即使连接到USB也可以设置断点并正确调试?
详细说明:
答案 0 :(得分:1)
当android进入休眠状态时,最顶层的活动会收到onPause
,但它仍然是活动堆栈中最顶层的活动,因此它将收到onResume
并将在设备醒来。
当设备唤醒时你看到你的主要活动的原因是onPause中应该有一些代码强制在onPause之后完成最高活动(类似地可能有一些设置。例如,将noHistory设置为true在AndroidManifest.xml中,一个活动强制活动在收到onPause时自行关闭,所以当你返回时,你会看到主要活动在上面。)