2015-06-17 130 views
1

注意:这并不是要询问是否将数据编组为Intent,然后为这些IntentService派生具体的具体实现。有没有办法将Runnable(或Callable)传递给IntentService?

因此,我的标准IntentService实现工作正常,除了我感兴趣的是,如果说我可以将更通用的类型(例如网络Runnables,I/O任务可加密等等)传递给IntentService并让它运行课程。尽管我知道Java并发包(特别是ExecutorService)已经可以实现,但我喜欢IntentService的易用性以及围绕它的关联框架,这对于高度分离的Android任务来说非常理想。

回答

3

所以我的标准IntentService执行工作正常,所有 但我有兴趣,如果说我可以通过一个更通用的类型(例如网络 的Runnable,I/O任务可调用等等等等)到IntentService和让它 运行其过程。

你不能通过它。您可以创建一个Factory,它创建Runnable/Callable的子类,并根据您在intent中提供的操作,请Factory建立具体实例,然后致电instance.run()instance.call()。例如。

public void onHandleIntent(Intent intent) { 
    YourFactory.create(intent.getAction()).run(); 
} 
+0

真的要说这是最最新的实现(加上类似Android的),我甚至不知道它是如何不明显。另外它也更加可组合。谢谢! –

+0

不客气 – Blackbelt

相关问题