我的应用程序与蓝牙外围设备接口。当外围设备想要关闭时,我是否可以通过调用我自己的onPause()
和onStop()
方法来清理应用程序?事实上,他们称超类的方法可能会导致任何问题吗?
之后的想法就是调用finish()
。
答案 0 :(得分:0)
您可以手动调用它们,但是您不应该让Android在需要时自行调用。如果你想打电话给那些活动,你可能不再想要活动,所以你可以只调用完成然后android会根据活动生命周期调用相关的方法。
您可以通过here
找到有关活动生命周期的更多信息答案 1 :(得分:0)
技术上,是的,你可以。你应该问的是“我应该”吗?答案是否定的。
就像你提到的那样,因为他们确实调用了超类方法,所以会发生一些额外的Android OS清理魔法。它可能会偶尔导致一个成功的案例,但不能保证。在你不想愚弄的背景中会发生很多事情。不要重新发明轮子。
如果您希望在其他地方使用的onPause
和onStop
方法中运行代码,我会创建一个名为cleanupBluetooth
的函数和onPause
并且onStop
会呼叫以及它需要的任何其他地方。
如果您需要实际调用onPause
和onStop
方法,因为您需要停止并停止活动,可以通过调用finish()
(how to use finish())来执行此操作。 finish()
方法将调用需要调用的相应Android操作系统魔法。
答案 2 :(得分:0)
OnPause()也是您活动中的一种方法,它可能是常规方法。它会覆盖活动方法,您可以从活动中的任何位置和界面中调用它。