2011-02-05 71 views
0

我正在製作一個應用程序,它可以通過添加註釋和/或鏈接來創建並允許用戶編輯HTML文件。然後,它允許用戶通過Dropbox進行同步,以便他們可以從任何其他Android設備或計算機上的瀏覽器查看該文件。在這個程序中,我有一個加載html頁面並將其顯示給用戶的WebView。但是,如果我告訴webview加載縮短版本的URL(例如http://db.tt/DrSmhwq),而不是將其放入WebView中,它會在我的應用程序頂部的瀏覽器中打開它。如果我使用URL的長版本(例如http://dl.dropbox.com/u/5724095/DBNotes.html),那麼它會將它加載到我的WebView中。所以我有幾個問題:縮短的URL和長的URL之間有什麼區別?是否存在導致此行爲的URL,或者更有可能這是Android WebView的問題?有沒有人知道是否有一種方法來從Dropbox的Android應用程序內生成URL的長版本?否則,我將不得不引導我的用戶訪問他們計算機上的網站,並生成長鏈接並將其輸入到我的應用中,這似乎不是一個好的解決方案。Android WebView加載保管箱縮短的網址

編輯: 我做了一個指向較長的Dropbox url的bitical url,並試圖調用wv.loadUrl(),它也打開了瀏覽器,而不是將其加載到WebView中。所以我猜測這是WebView處理重定向的默認行爲。有誰知道我可以如何使它加載到其內部本身而不是瀏覽器窗口的頁面?

回答

1

縮短的URL和長的URL有什麼區別?

服務器發出一個你沒有處理的重定向,所以調用默認的WebView行爲 - 在瀏覽器中打開新的URL。

有沒有人知道我可以如何使它加載到其本身而不是瀏覽器窗口本身的頁面?

執行WebViewClient,特別是shouldOverrideUrlLoading()來處理重定向。通過setWebViewClient()WebViewClient的實例附加到WebView

+0

我認爲這種方法看起來很有希望,但是我怎樣才能得到它重定向到的URL呢?傳遞給shouldOverrideUrlLoading()的URL將被縮短,不是嗎?當我回到我的電腦時,我會對此進行測試,如果有效,請接受您的答案。 – FoamyGuy 2011-02-05 19:27:37