2015-12-19 31 views
0

我有一個活動,運行WebView並注入一些JS到一個網站(我沒有控制),並返回一些數據。我需要在背景上做同樣的事情,並提供服務。我怎樣才能做到這一點 ?背景中的Webview:這是一種不好的做法嗎? HttpClient是解決方案嗎?

備註:我已經在使用IntentService,AlarmManagerBroadcastReceivers。我只想知道實現這個服務(web視圖,HTTP客戶端,其他..)

的更好的辦法。我想,如果我實例化一個WebView 0Wx0通過服務將是骯髒的。我錯了嗎 ?

ps:我讀了一些關於HttpClient的,但我不知道它對我是否有用。

謝謝!

回答

0

webView.loadUrl()是異步

所以它已經在後臺線程:它立即返回,並保持網頁視圖在一個單獨的線程工作。

要獲得的WebView頁面加載使用回調WebViewClient.onPageFinished(....)

+0

對不起,我沒有清楚。我實際上在我的UI WebView中使用onPageFinished。但是我需要在後臺做相同的工作,並提供服務。 –

0

讓您的服務創建一個新的網頁流量的活動。所以在後臺的某些事件中,您可以啓動一個webview活動並執行相同的操作。根據事件類型的不同,您可以使用intentService,否則會出現粘滯的長時間運行服務

+0

我正在使用IntentService來執行此操作。但是'WebView'只能從UI Thread中實例化。我需要這樣做IntentService:/ –

+0

也許使用runonuithread方法 – j2emanue

相關問題