2011-02-05 29 views
0

私は、ノートやリンクを追加してHTMLファイルを作成して編集できるアプリケーションを作成しています。その後、ユーザーは他のAndroidデバイスやコンピュータのブラウザからファイルを見ることができるように、ユーザーをDropbox経由で同期させることができます。このプログラムでは、HTMLページを読み込んでユーザーに表示するWebViewがあります。しかし、WebViewにURLの短縮版(例:http://db.tt/DrSmhwq)を読み込ませる代わりに、WebViewの中に入れておくと、アプリの上にあるブラウザで開くようになります。 URLの長いバージョン(例:http://dl.dropbox.com/u/5724095/DBNotes.html)を使用している場合、WebView内にロードされます。だから私はいくつかの質問があります:短縮URLと長いものの違いは何ですか?この動作の原因となっているURLについて何かがありますか、これがAndroid WebViewの問題である可能性は高いですか?また、ドロップボックスのAndroidアプリからURLの長いバージョンを生成する方法があれば誰にも知られていますか?それ以外の場合は、ユーザーが自分のコンピュータのウェブサイトにアクセスし、長いリンクを生成してそれを自分のアプリに入力するよう指示する必要があります。これは良い解決策ではありません。Android WebViewがドロップボックス短縮URLをロードしています

編集: 長いDropboxのURLを指している小さなURLを作成し、その上でwv.loadUrl()を呼び出そうとしましたが、WebViewに読み込む代わりにブラウザが開きました。だから私はこれがWebViewがリダイレクトをどのように処理するかについてのデフォルトの動作だと推測しています。誰もがブラウザウィンドウではなく内部に向けられたページをどのようにロードできるか知っていますか?

答えて

1

短縮URLと長文URLの違いは何ですか?

サーバーが処理していないので、デフォルトWebView動作が呼び出される、リダイレクトを発行している - ブラウザに新しいURLを開きます。

ブラウザのウィンドウの代わりに、自分自身に向けられたページをどのように読み込むことができるか知っていますか?

WebViewClient、特にshouldOverrideUrlLoading()を実装してリダイレクトを処理します。 WebViewClientのインスタンスをでWebViewに添付します。

+0

私はこの方法が有望だと考えましたが、リダイレクト先のURLをどのように取得できますか? shouldOverrideUrlLoading()に渡されるURLは、短縮されたURLになりますか?私がコンピュータに戻ってきたときにこれをテストし、それがうまくいけば答えを受け入れます。 – FoamyGuy

+0

@Tim:URLは 'shouldOverrideUrlLoading()'の2番目のパラメータとして渡されます。 "shouldOverrideUrlLoading()に渡されるURLは、短縮されたURLになるでしょうか?" - いいえ。 – CommonsWare

関連する問題