我正试图重构/重新设计一个Android应用程序。目前,我有一个UI活动(Activity 1
),它创建了一个DataThread
。此线程负责网络I/O并通过handler
与UI活动交互(提供数据)。Android服务与多个活动交互
现在,我想添加另一个活动(带有视频的新UI屏幕) - Activity 2
。 Activity 1
仍然是主要活动。当用户点击Activity 1
上的按钮时,将会调用Activity 2
。 Activity 2
的数据也来自DataThread
。
我的想法是将我的DataThread
的逻辑放在Android Service
(DataService
)中。我的问题是 - 可以比活动绑定我的DataService
在同一时间吗?有没有办法告诉服务只向特定活动提供数据?
欢迎任何其他想法?
在此先感谢。
我正在寻找这样的解决方案,有没有任何工作的例子或链接,以获得有关此实施的更多细节,thx – Sam 2011-06-23 06:54:59
@Rich当您的应用程序终止时,如何绑定它,您如何设法从服务中干净地解除绑定在你的应用程序类?由于Application#onTerminate()永远不会在生产设备上调用,请参阅JavaDoc http://developer.android.com/reference/android/app/Application.html – 2012-02-20 18:23:17
@SvenJacobs我能想到的唯一方法是:让服务调用' stopSelf()'在一段时间后,所有活动都暂停。在这种情况下,活动必须在服务暂停时告诉服务他们的状态。活动永远不会调用'unbindService()',并且服务在每个Activity的每个onResume()上绑定到'applicationContext'。 – OneWorld 2013-07-04 14:48:09