即使我的应用关闭,如何使我的对象生效

时间:2014-03-11 06:16:18

标签: android object callback object-lifetime

我遇到的情况是,为了简单起见我有两个APPS保持为APP1APP2,我将一个对象remoteCallback作为CALLBACK从APP1传递到APP2未来的使用。

基于结果APP2将使用对象updateStatus(String msg)实例化方法remoteCallback,一切正常,但是当我关闭APP1并清除内存时,APP2无法调用方法i知道是什么原因导致这个问题我想知道是否有任何方法使对象(remoteCallback)直播APP1关闭。

提前致谢。

4 个答案:

答案 0 :(得分:2)

我在这里使用未绑定的Service。即使你的某个应用程序关闭,未绑定的服务也可以使用,如果条件允许,它仍将在后台运行。如果您使用了绑定的Service,那么如果您的应用停止,则会停止使用您的应用。

这与AsyncTaskThread不同,因为即使它们在后台运行,如果Android需要更多内存或缺少资源,也会发生重大变化。

然而,这会给您带来新的责任:您必须确保在应用中相应地使用startService()stopService(),并且不要让Service继续运行下去。

This似乎是一个关于它是如何工作的一个很好的例子,但你可能会发现很多关于未绑定Service的文档

答案 1 :(得分:1)

我们无法阻止应用程序销毁,因此不要通过回调来获取详细信息,而是使用BROADCAST RECEIVER。 这是我适应这种情况的解决方案。

答案 2 :(得分:1)

"我想知道有没有办法让对象(remoteCallback)在APP1关闭时生效。"

PendingIntent?...

它与通知使用的机制相同。

答案 3 :(得分:1)

您可以启动后台服务,并在应用程序关闭后存储您想要对象的对象

您可以声明公共静态数据成员并使用整个应用程序