我首先说我已经看到了Activity Lifecycle图(http://developer.android.com/reference/android/app/Activity.html),而实际上我完全理解它。区分Android onDestroy事件
我该如何解决这个问题,如果有一个onDestroy事件,那么就没有回来,这个活动肯定是在关闭的过程中。
所有其他涉及再次显示活动的能力都在onCreate和onStop之间(包括两者在内)。
我正在创建一个应用程序来轮询自定义蓝牙设备的一些测量结果。我希望保持连接(蓝牙),但我也想发现用户是否杀死了活动(通过杀死应用程序从任务栏中删除),以便我可以再发送一件东西到设备并断开套接字。所以按照我的理解,我可以把代码放在onDestroy中。然而,事实证明(索尼Xperia Z3和三星Galaxy S2),当用户点击电源按钮时,onDestroy也正在执行,从而锁定屏幕。当屏幕解锁后,会创建一个新的Activity(这是我的猜测)并运行onCreate。正如你可以猜到 - 我的设备是因为我投入的onDestroy
代码断开普通自动关屏+锁不会做的onDestroy ...
所以问题是: 是否有办法区分真正破坏活动的onDestroy,以及当用户解锁屏幕后,将重新创建相同活动的onDestroy?我只想向这真的,真的的onDestroy事件作出反应
这只与检测'finish'()是否被调用(或不是视情况而定)'Activity'是否被销毁有关。如果OP没有明确地调用finish(),那么它将不会给出任何有效的指示,说明用户按下“BACK”后是否终止了“Activity”,或者是因为用户提到的设备的所谓行为按下电源按钮强制锁定设备。 – Squonk
这实际上为我工作,因为我有一个自定义后退按钮的行为,我把finish()里面。 然而,它真的很糟糕如果设备做的东西是非常不同的android设备应该做的: – maslan