2010年12月25日土曜日

[Android] Webコンテンツを強制的に表示するには

How to force to show web contents

AndroidOSには、ActivityにWebコンテンツを表示するためのWebViewというViewがあります。
WebViewを使っても端末がインターネットに接続されていなければWebコンテンツを表示することはできません。

以下はActivityを起動したらWebViewにWebコンテンツを表示するサンプルコードです。

マニフェスト(AndroidManifest.xml)

レイアウト(res/layout/main.xml)

Activity(Main.java)


このアプリケーションをインターネットに接続せずに起動するとエラーが表示されます。

このアプリケーションを、強制的にネットワーク接続しWebコンテンツを表示するように改造します。
Activity起動後の動作内容はこのようになります。
  1. インターネットに接続されていたらWebコンテンツを表示する
  2. インターネットに接続されていなければWifiに接続し、接続が完了したらWebコンテンツを表示する
マニフェスト(AndroidManifest.xml) パーミッションが増えました


レイアウト(res/layout/main.xml) の変更はありません

Activity(Main.java)


これで確実にWebコンテンツが表示されるようになりました。

ユーザーに無断でWifi接続するようなアプリケーションをAndroid Marketで公開するべきではありません。
 自動的にWifi接続する前にユーザーに許可を求めるなどの措置をとりましょう。

関連ブログ
[Android] WebViewを使うときの注意点

キーワード
Activity WebView ConnectivityManager WifiManager BroadcastReceiver

以上、参考になれば幸いです。

0 件のコメント:

コメントを投稿