我想在杀死进程后保持活动后台服务

Posted

技术标签:

【中文标题】我想在杀死进程后保持活动后台服务【英文标题】:I want keep alive background service after kill process 【发布时间】:2016-04-07 08:56:51 【问题描述】:

我使用 ionic 创建了后台启用信使应用程序。

由 katzer 后台模式插件使用。

但是当我双击主页按钮并向上滑动终止应用程序 (ios) 或使用任务管理器 (android) 中的 X 按钮终止应用程序时,我希望保持活动后台服务。

我怎样才能知道它的作用并解决问题。我不想杀死应用程序。

document.addEventListener('deviceready', function() 

, false);

document.addEventListener('pause', function() 

, false);

document.addEventListener('resume', function() 

, false);

【问题讨论】:

当用户杀死你的应用程序时,它应该被杀死。因此,这在 iOS 上是不可能的,而且永远也不应该。 【参考方案1】:

据我所知,至少在 iOS 上,您无法在杀死后保持应用程序存活。但我的感觉是你应该尊重你的用户,如果她想杀死一个应用程序,那就有尊严地死吧:D

【讨论】:

【参考方案2】:

查看僵尸进程和孤儿进程。僵尸进程将继续运行并且无法被杀死。孤立进程是其父进程已被杀死但仍在运行的子进程。孤立进程可以被杀死。 (你可能想要僵尸进程)

【讨论】:

【参考方案3】:

我觉得我的交流让大家误会了。

反正我找到了这条线

- (void)onAppWillTerminate

我只想在双击主页按钮并像 facebook 或 instagram 一样向上滑动后不执行 logout() 我的信使。

如果我执行操作(双击主页按钮,向上滑动),我将无法接收消息。因为如果我这样做..几分钟后与服务器断开连接。

【讨论】:

应用程序终止时可能会或可能不会调用此方法。当用户从应用切换器向上滑动时,它几乎肯定不会被调用。在 iOS 上保持应用程序“活跃”的正确方法是向我们发送 Pushkit 通知。这将在发送推送时重新启动您的应用

以上是关于我想在杀死进程后保持活动后台服务的主要内容,如果未能解决你的问题,请参考以下文章

当活动崩溃时,进程保持活动状态,我无法杀死它

安全地杀死在 bash 脚本中启动的后台进程

Android销毁活动,杀死进程

当应用程序进程被终止时,请勿打开上一个活动

杀死进程时如何执行 logout() ?

杀死给定进程的次要任务