AndroidのWebViewでUserAgentを独自に設定する方法


今日はAndroidのWebViewでユーザーエージェントを独自のものにする方法の紹介です。
WebViewベースで、ハイブリッドアプリを作る際、表示しているHTMLやJSはスマホ対応したウェブサイトとできるだけ共通にしたいと思ったりします。
そんなときに、アプリからのアクセスを判別して、ロジックを制御したかったりしますが、ユーザーエージェントを独自に設定することで実現できます。

独自にユーザーエージェントを設定するのはとても簡単で、以下の方法で実装できます

myWebView = new WebView(MainActivity.this);
String userAgent = myWebView.getSettings().getUserAgentString();
myWebView.getSettings().setUserAgentString(userAgent + "独自に指定したいユーザーエージェント");

こんな感じでOKです。(上記はWebViewをMainActivityに設置する想定です。アクティビティのクラス名が違う場合は1行目のMainActivityという部分を書き換えてください)

上記では、元々設定されているユーザーエージェントに追記する形で独自のものを指定しています。

JS側で制御する際には、

var userAgent = navigator.userAgent;
if (userAgent.match(/独自に指定したユーザーエージェント文字列/)) {
  //アプリからのアクセス
}

という感じで実装できますね。

PHPなどで処理する際にも同様にユーザーエージェントから処理を分けられます。

モバイルウェブもアプリもできるだけ処理を共通にしておいて必要な部分だけ分けたいときに使えますね!

では

Let’s enjoy HTML Life!!

Leave a Comment

*

Categories

Recent News

HTML5/CSS3/Javascriptのニュースまとめ[8/19〜8/25]

先週のニュース・ブログ記事を紹介していきます! 先週はちょっと少なめで...

PhoneGap3.0がリリースされましたね!

PhoneGap3.0がリリースされましたね! PhoneGap Da...

HTML5/CSS3/Javascriptのニュースまとめ[6/17〜6/23]

今日は先週のニュース・ブログ記事のまとめです。 1.HTML5 歴史的...

HTML5/CSS3/Javascriptのニュースまとめ[6/10〜6/16]

今日は先週のニュース・ブログ記事のまとめです。 個人的に気になったもの...

AndroidのWebViewでUserAgentを独自に設定する方法

今日はAndroidのWebViewでユーザーエージェントを独自のもの...