我遇到的情况是,为了简单起见我有两个APPS保持为APP1
和APP2
,我将一个对象remoteCallback
作为CALLBACK
从APP1传递到APP2未来的使用。
基于结果APP2将使用对象updateStatus(String msg)
实例化方法remoteCallback
,一切正常,但是当我关闭APP1并清除内存时,APP2无法调用方法i知道是什么原因导致这个问题我想知道是否有任何方法使对象(remoteCallback)直播APP1关闭。
提前致谢。
答案 0 :(得分:2)
我在这里使用未绑定的Service
。即使你的某个应用程序关闭,未绑定的服务也可以使用,如果条件允许,它仍将在后台运行。如果您使用了绑定的Service
,那么如果您的应用停止,则会停止使用您的应用。
这与AsyncTask
或Thread
不同,因为即使它们在后台运行,如果Android需要更多内存或缺少资源,也会发生重大变化。
然而,这会给您带来新的责任:您必须确保在应用中相应地使用startService()
或stopService()
,并且不要让Service
继续运行下去。
This似乎是一个关于它是如何工作的一个很好的例子,但你可能会发现很多关于未绑定Service
的文档
答案 1 :(得分:1)
我们无法阻止应用程序销毁,因此不要通过回调来获取详细信息,而是使用BROADCAST RECEIVER
。
这是我适应这种情况的解决方案。
答案 2 :(得分:1)
"我想知道有没有办法让对象(remoteCallback)在APP1关闭时生效。"
PendingIntent?...
它与通知使用的机制相同。
答案 3 :(得分:1)
您可以启动后台服务,并在应用程序关闭后存储您想要对象的对象
您可以声明公共静态数据成员并使用整个应用程序