2012-03-20 84 views
1

我正在創建一個Android應用程序,它從媒體服務器流視頻。我使用我的頻道的列表視圖和一個switch語句來控制視頻。在switch語句中有一些簡單的javascript代碼例如:Android應用程序 - Java.Net.SocketException:沒有路由到主機

webView.loadUrl("javascript:void(jwplayer().playlistItem(2))"); 

這個工作正常,但隨機拋出這個錯誤很多。我找不到原因,我試過不等待視頻加載和加載新視頻,有時會導致它,有時它不會,我只選擇了4個視頻,並在更改前觀看了5秒鐘,這有時候導致它,有時不。我的logcat顯示如下:

03-20 14:19:29.710: D/dalvikvm(14679): GC_CONCURRENT freed 426K, 8% free 7600K/8199K, paused 3ms+3ms 
03-20 14:20:32.490: D/dalvikvm(14679): threadid=18: still suspended after undo (sc=1 dc=1) 
03-20 14:20:32.540: D/dalvikvm(14679): threadid=18: still suspended after undo (sc=1 dc=1) 
03-20 14:20:32.550: D/dalvikvm(14679): GC_CONCURRENT freed 426K, 8% free 7599K/8199K, paused 4ms+3ms 
03-20 14:20:37.220: W/System.err(14679): java.net.SocketException: No route to host 
03-20 14:20:37.220: W/System.err(14679): at org.apache.harmony.luni.platform.OSNetworkSystem.connect(Native Method) 
03-20 14:20:37.220: W/System.err(14679): at dalvik.system.BlockGuard$WrappedNetworkSystem.connect(BlockGuard.java:369) 
03-20 14:20:37.220: W/System.err(14679): at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:208) 
03-20 14:20:37.220: W/System.err(14679): at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:431) 
03-20 14:20:37.220: W/System.err(14679): at java.net.Socket.connect(Socket.java:901) 
03-20 14:20:37.220: W/System.err(14679): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection.<init>(HttpConnection.java:75) 
03-20 14:20:37.220: W/System.err(14679): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection.<init>(HttpConnection.java:48) 
03-20 14:20:37.220: W/System.err(14679): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection$Address.connect(HttpConnection.java:304) 
03-20 14:20:37.220: W/System.err(14679): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnectionPool.get(HttpConnectionPool.java:89) 
03-20 14:20:37.220: W/System.err(14679): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.getHttpConnect ion(HttpURLConnectionImpl.java:292) 
03-20 14:20:37.220: W/System.err(14679): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.makeConnection(HttpURLConnectionImpl.java:274) 
03-20 14:20:37.220: W/System.err(14679): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:217) 
03-20 14:20:37.230: W/System.err(14679): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.getOutputStream(HttpURLConnectionImpl.java:624) 
03-20 14:20:37.230: W/System.err(14679): at dalvik.system.NativeStart.run(Native Method) 
03-20 14:20:37.230: W/System.err(14679): at dalvik.system.NativeStart.run(Native Method) 

回答

0

您是否在視圖中啓用了javasctript?

webView.getSettings().setJavaScriptEnabled(true); 

此外,您應該考慮在javascript語句的末尾添加冒號。

webView.loadUrl("javascript:void(jwplayer().playlistItem(2));"); 

如果無事可做,嘗試捕捉異常,並嘗試一定的次數,還有在Android的網頁視圖和httpclients一些不穩定性。

+0

是的,我已啓用了JavaScript並啓用了Internet權限。 乾杯,改變了這一點,但還沒有整理出來。我想這就是剩下要做的,試着在某個地方抓住它,謝謝你的幫助。 你知道任何記錄webviews和httpclients不穩定性的地方嗎? – user1281053 2012-03-20 14:47:53

+0

這將是很難收集他們全​​部。 Stack Over Flow引用了他們所有的想法,但在整個論壇中傳播。對不起,這個模糊的答案,但有時你需要修補SDK .. – Snicolas 2012-03-20 14:56:28

相關問題