2011-12-09 80 views
1

我正在爲我的電路板社區製作Android應用程序。董事會提供者向我提供來自一般類別的RSS提要,但不會生成來自主題的提要。因此,我從這些提要中檢索主題URL,並希望用Jsoup解析HTML並將其提供給WebView。Jsoup select()在Android應用程序中不返回任何內容

除了select()函數什麼都不返回外,它工作起來很好。

的「HTML RETREIVED」日誌給我:​​

H1標籤是在測試用代碼:它顯示在良好的WebView和解析網頁的標題了。

我還在select()行後面放了日誌行。它也不會返回。

我試過在一個純Java項目中只用Jsoup進行解析,它很順利。 所以我認爲Android有問題。

PS:清單中的Internet權限處於活動狀態。

我錯過了什麼嗎?

下面是代碼:

String html; 
    Bundle param = this.getIntent().getExtras(); 
    String url = param.getString("url"); 
    try { 
      Document doc = Jsoup.connect(url).get(); 
      doc.select(".topic .clear").remove(); 
      String title = doc.title().toString(); 
      html = doc.select(".username strong, .entry-content").toString(); 
      html = "<html><head><title>"+title+"</title></head><body><h1>"+title+"</h1>"+html+"</body></html>"; 
      WebView webview = new WebView(this); 
      getWindow().requestFeature(Window.FEATURE_PROGRESS); 
      setContentView(webview); 
      webview.getSettings().setJavaScriptEnabled(true); 
      final Activity activity = this; 
      webview.setWebChromeClient(new WebChromeClient() { 
        public void onProgressChanged(WebView view, int progress) { 

        activity.setProgress(progress * 1000); 
        Log.d("LOADING",""+ progress); 
        } 
       }); 
      webview.loadData(html, "text/html", "UTF-8"); 
      //webview.loadUrl(url); 
      Log.i("HTML RETREIVED", ""+html); 
     } catch (IOException e) { 
      Log.e("ERROR", "Error while generate topic"); 
     } 

回答

3

好,我發現了一些有趣的事情。

我想選擇的課程不在這裏,因爲我正在獲取網頁的移動版本。它看起來Android應用程序使用移動用戶代理,這是非常正常的,但沒有說任何地方。

無論如何,我知道現在想什麼。

+1

我只是要讓我的頭! haha​​haha! 與我同樣的問題,謝謝你! – InsaurraldeAP

相關問題