2015-06-17 129 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

相關問題