在某些任务杀手杀死应用程序后如何恢复android应用程序?

Posted

技术标签:

【中文标题】在某些任务杀手杀死应用程序后如何恢复android应用程序?【英文标题】:How to restore android app after some task killer has killed app? 【发布时间】:2012-12-27 05:51:38 【问题描述】:

在我的应用程序中,我有几个明显相互关联的活动。每当我进行某些活动并且用户使用任何任务杀手杀死我的应用程序时。我想做两件事

    清除我在用户登录时添加的通知.. 完成除第一个活动(即登录活动)以外的所有活动

现在,如果用户从最近的任务或从启动器再次启动我的应用程序,我想从第一个活动开始,即登录活动......

目前,如果我使用 android ma​​nage process 并结束活动或从 android 任务管理器 强制关闭应用程序,我的代码绝对可以正常工作。但是,如果我正在使用其他一些任务杀手应用程序,即高级任务杀手,当我从最近的应用程序重新启动应用程序时关闭应用程序后,它会尝试从上次使用的 Activity 而不是 Login Activty 重新启动,并给出一个丑陋的强制关闭错误.. . 在这种情况下,通知也不会被清除。

如何处理第三方任务杀手?

我已经阅读了几个关于 SO 的主题,但无法获得指针,其中很少是...

related to task killer

related to Notification

【问题讨论】:

【参考方案1】:

首先让您的应用程序作为服务而不是活动运行。并将您的服务绑定为 STICKY 以便在杀死您的应用程序后它会立即重新启动,并且只有您的应用程序可以停止您自己的服务。 有关更多信息,请参阅 http://developer.android.com/guide/components/bound-services.html

【讨论】:

到目前为止我还没有在我的应用程序中使用过服务...我需要为此使用它吗? 是的,offcourse ....因为活动可以被任何其他应用程序终止,但您的服务无法停止。 :) 所以让它成为服务,然后除了你之外没有人可以停止你的服务:)

以上是关于在某些任务杀手杀死应用程序后如何恢复android应用程序?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Android 中创建一个高级任务杀手无法杀死的服务

任务杀手如何工作?

android (Service & PhoneStateListener) - 当应用程序被任务管理器、杀手或内存不足杀死时,服务确实重新启动但不工作

Android,如何使应用程序的任务不可关闭?只能通过任务杀死关闭

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

在应用程序被杀死后在应用程序启动时恢复未完成的多部分/表单数据上传任务