搜尋文章

2013年6月12日 星期三

android-透過webView加上userAgent


用userAgent判斷使用者是電腦或是行動裝置觀看網頁這一篇

記錄了如何用navigator.userAgent去判斷是在行動裝置上觀看網頁還是用電腦看

但如果是要在android上判斷是在行動裝置上的瀏覽器看還是用應用程式裡面的webView看的話

就需要再webView上下一點工夫了

下面直接上code

WebVIew mWebView = new WebView(context);
//先用webview的getSettings()取得webSettings再用getUserAgentString()
//取得userAgent,這邊取出來的值會跟在網頁用js的navigator.userAgent取的
//值是一樣的
String userAgentStr = mWebView.getSettings().getUserAgentString();
//之後用setUserAgentString()設定新的userAgent
//這邊設定新的UserAgent的時候用記得用舊的UserAgent去加入新的字串
//不然UserAgent的瀏覽器及系統訊息都會被你設定的新字串覆蓋過去
mWebView.getSettings().setUserAgentString(userAgentStr+"/ON_WEBVIEW");


之後在網頁上把UserAgent alert出來就可以看到剛剛新加入的字串了
Mozilla/5.0 (Linux; U; Android 4.1.2; zh-tw; GT-P3100 Build/JZO54K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30/ON_WEBVIEW

再來就是作一樣的判斷
var userAgent = navigator.userAgent;
if(/ON_WEBVIEW/i.test(userAgent)){
          //是否在webview上面看
     }

沒有留言:

張貼留言