我正在寻找一种方法来检测我的 android 应用程序是否已在后台运行,以便Activity
在按下 Home 键(或堆栈中最后一个活动的返回键)时无论哪个正在运行,都会调用指定的函数。
onPause()
并且onStop()
无法区分替换当前活动的新活动和正在后台运行的应用程序,因此我正在寻找有关我必须包括哪些额外测试来确定这一点的建议。
我正在寻找一种方法来检测我的 android 应用程序是否已在后台运行,以便Activity
在按下 Home 键(或堆栈中最后一个活动的返回键)时无论哪个正在运行,都会调用指定的函数。
onPause()
并且onStop()
无法区分替换当前活动的新活动和正在后台运行的应用程序,因此我正在寻找有关我必须包括哪些额外测试来确定这一点的建议。
正如其他人所建议的那样,使用服务是正确的做法。
从广义上讲,构成应用程序的不同活动都应该在它们的onResume()
方法中绑定到服务。他们应该在 处解除与服务的绑定onPause()
。
当所有先前连接的客户端都断开连接时,将调用您的服务onUnbind()
方法,这将是您断开蓝牙连接的地方。
有关服务以及从活动绑定到服务的更多信息,请访问http://developer.android.com/reference/android/app/Service.html。