繁体   English   中英

Android WebView和Web浏览器检测

[英]Android WebView and Web Browser detection

编辑:我认为该browserset.setUserAgentString("SITEAPP"); 应该解决我的问题。 我将尝试发布结果。

刚为我工作的公司制作了一个android应用程序,我有这个小问题。 我们使用可在所有浏览器上使用的流畅的网站设计,我们希望为公司的网站制作一个应用程序,但是我们并没有使用每次网站更改时都重新构建该应用程序的方法,而只是使用WebView来加载该网站。

这很好。 该应用程序看起来很棒,并且显示得很像普通的Android浏览器。 现在的问题是,当他们使用库存的android浏览器访问该网站时,会看到一个弹出窗口,显示“尝试我们的超棒新应用程序”,并且仅向在用户代理字符串中输出android的浏览器显示。 但是,当您打开我们制作的并加载相同网页的新应用程序时,服务器会在用户代理上看到android系统,而使用该应用程序的人还会看到弹出窗口吗? 本质上是代码:

$ua = strtolower($_SERVER['HTTP_USER_AGENT']);
if(stripos($ua, 'android') !== false) {
    echo "Android Browser";
}

我如何才能使使用webview的android浏览器和我的应用程序浏览器在服务器上看起来不一样,从而使它们无法在我的webapp上弹出? 是否可以在HTE应用程序的WebView设置中定义浏览器用户代理? 还是一种更好的解密方法,如果它的android手机未使用我的应用程序? 谢谢。

抱歉,您的问题很愚蠢,这是我更新的网络视图通话

    mWebView = (WebView) findViewById(R.id.webview);
    WebSettings webSettings = mWebView.getSettings();
    webSettings.setUserAgentString("APPNAMEGOESHERE");
    webSettings.setJavaScriptEnabled(true);
    mWebView.loadUrl("http://www.sitename.com/");
    mWebView.setWebViewClient(new BrowseWithin());

通过添加setUserAgentString()函数,我可以将我的应用程序用户字符串更改为其他内容,从而解决了该问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM