What to be careful about the WebView widget.
先日、ActivityにWebViewを配置したアプリケーションを作っていたら妙な挙動に気付きました。
ActivityにボタンとYahoo! JapanのWebページを表示するだけの動作を期待して作ったアプリのソースです。
Activity(Main.java)
レイアウト(activity_main.xml)
マニフェスト(AndroidManifest.xml)
しかし、起動してみるとWebページはActivityに表示されず、ブラウザーが起動してしまいます。
※Yahoo!を表示させるアプリを作っていたわけではないのですが、動作テスト中に偶然発見しました。
原因は、http://yahoo.co.jp をAndroid端末で開くと http://m.yahoo.co.jp/ にリダイレクトされるためでした。
URLのリダイレクトはYahoo!の仕様です。
そして、リダイレクト先のWebページ開くためにブラウザーを起動するのはAndroidの仕様です。
あらかじめリダイレクト先のURLを表示するようにソースを修正したら期待通りになりました。
修正後のActivity(Main.java)
WebViewウィジットで使用するWebコンテンツを作るときはページの遷移方法は注意深く設定しなければいけないようです。
※Googleで検索したらWebViewのサブクラスを作ってブラウザーを起動させない方法を紹介している方もいらっしゃいました。
関連ブログ
[Android] Webコンテンツを強制的に表示するには
以上、参考になれば幸いです。
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。