5

如何简单地停止我的整个应用程序?(所有活动、服务、线程等。简单来说就是一切)应该调用生命周期回调(尤其是onStop()and )。onDestroy()

谷歌建议以下可能的解决方案:

  • 杀死进程:但这不会调用生命周期回调
  • 和完成();但这仅适用于一项活动:

但是是否可以从外部访问此方法,例如:

//Getting all activityies, how?
//For each gotten activity
AcitvityName.finish();
or via or via getParent().finish(); ?

这对我没有帮助:退出 android 应用程序的最佳方法?

FD

4

3 回答 3

2
 @Override 
public void onPause() {        

        if(isFinishing()){
//code to finish() all activitys threads etc.....
}            

    super.onPause();
} 

在 onPause() 你可以检查 isFinishing() 然后如果它正在完成它会去 onDestroy() 这样你就可以执行一些你喜欢的代码

于 2013-04-05T10:42:17.047 回答
1

使用广播接收器调用所有活动并finish在它们本地调用,调用当前生命周期回调。

广播接收器和暂停的活动

http://developer.android.com/reference/android/content/BroadcastReceiver.html

于 2013-04-05T11:30:51.937 回答
1

Android 不允许用户直接关闭应用程序。您可以将其最小化到后台或直接杀死进程。

但是,如果您想在用户从屏幕上删除您的应用程序时调用一些回调并释放任何资源 - 您可以执行以下操作:

在 onDestroy 方法中清除活动堆栈(或者如果您希望在 onBackPressed,onHomePressed 中)。它必须在所有删除活动中调用 onDestroy 方法,以便您可以在活动的 onDestroy 方法中释放任何具有链接的扩展资源。

因此,当用户退出您的应用程序时 - 它将删除他的活动并释放所有资源。

于 2013-04-05T14:40:59.110 回答