Android 原生app中嵌入了 H5网页,这些H5网页直接引用的为手机浏览器开发的网页,但是app中的页面和逻辑操作和收留浏览器中的会有一定的差别,那么久需要进行判断是否是在app中加载的。使用用户代理来区分是最简单也是最准确的。
获取WebView的默认用户代理
WebView webView = (WebView) findViewById(R
.id.webview)
WebSettings settings = webView
.getSettings()
String ua = settings
.getUserAgentString()
ua = ua +
"[B2B_APP/1.0]"
设置WebView的用户代理
WebView webView = (WebView) findViewById(R
.id.webview)
WebSettings settings = webView
.getSettings()
settings
.setUserAgentString(ua)
JS中判断是否是App
isapp :
function(){
var ua = navigator.userAgent;
return ua.indexOf(
"B2B_APP") >=
0 ?
true :
false;
},
这样就实现了根据H5页面加载的地方不同渲染不同的页面和逻辑操作。