一个Activity可以调用它自己的onPause(),onStop()吗?

时间:2017-05-23 16:21:55

标签: android android-lifecycle

我的应用程序与蓝牙外围设备接口。当外围设备想要关闭时,我是否可以通过调用我自己的onPause()onStop()方法来清理应用程序?事实上,他们称超类的方法可能会导致任何问题吗?

之后的想法就是调用finish()

3 个答案:

答案 0 :(得分:0)

您可以手动调用它们,但是您不应该让Android在需要时自行调用。如果你想打电话给那些活动,你可能不再想要活动,所以你可以只调用完成然后android会根据活动生命周期调用相关的方法。

您可以通过here

找到有关活动生命周期的更多信息

答案 1 :(得分:0)

技术上,是的,你可以。你应该问的是“我应该”吗?答案是否定的。

就像你提到的那样,因为他们确实调用了超类方法,所以会发生一些额外的Android OS清理魔法。它可能会偶尔导致一个成功的案例,但不能保证。在你不想愚弄的背景中会发生很多事情。不要重新发明轮子。

如果您希望在其他地方使用的onPauseonStop方法中运行代码,我会创建一个名为cleanupBluetooth的函数和onPause并且onStop会呼叫以及它需要的任何其他地方。

如果您需要实际调用onPauseonStop方法,因为您需要停止并停止活动,可以通过调用finish()how to use finish())来执行此操作。 finish()方法将调用需要调用的相应Android操作系统魔法。

答案 2 :(得分:0)

OnPause()也是您活动中的一种方法,它可能是常规方法。它会覆盖活动方法,您可以从活动中的任何位置和界面中调用它。