2

我有两个应用程序,例如ActivityService。我ServiceActivity. 当我退出活动时,它会停止,但它并没有完全停止,而是在后台运行(可以在Settings->ManageApplications菜单中看到)。所以我使用android.os.Process.killProcess(android.os.Process.myPid())了 in onDestroy() 函数,它完全终止了应用程序。但问题是它也停止了我的服务,因为它是从我的活动开始的。我也尝试使用以下几行,

ActivityManager activityManager = (ActivityManager)this.getSystemService(Context.ACTIVITY_SERVICE);
        activityManager.killBackgroundProcesses(this.getApplication().getPackageName());

但它仍然会停止我的服务,因为它会停止文档中所述的关联进程。我的问题是,我怎样才能完全终止我的活动而不终止我的服务。提前谢谢。

设想


假设有两个应用程序“a”和“b”。我使用finish()调用停止应用程序“a”,“a”成功关闭。现在我使用调用从'b'检查'a'的状态,runningProcessInfo我仍然发现应用程序'a'正在后台运行。

4

1 回答 1

6

我的问题是,我怎样才能完全终止我的活动而不终止我的服务。

Call finish(),当用户按下 BACK 时自动发生(默认情况下)。

当我退出活动时它停止但它没有完全停止,在后台运行(可以在设置->管理应用程序菜单中看到)

应用程序不是活动。应用程序是组件的集合。在您的情况下,您的应用程序包含至少一项活动和至少一项服务,具体取决于您问题中的信息。

所以我在 onDestroy() 函数中使用了“android.os.Process.killProcess(android.os.Process.myPid())”,它完全终止了应用程序。

不要这样做。

于 2012-06-04T16:18:26.043 回答