简体   繁体   English

如何检测Android浏览器而不检测Android App(WebView)?

[英]How to Detect Android Browsers but Not Android App (WebView)?

I have created an Android app for my website example.com using WebView. 我已经使用WebView为我的网站example.com创建了一个Android应用。 Now I want my users to browse my website only from the app so I want to show a message on the footer as Quora does for the Android users browsing from browsers. 现在,我希望我的用户只能从该应用程序浏览我的网站,所以我想在页脚上显示一条消息,就像Quora对于在浏览器中浏览的Android用户一样。 See image below for reference: 请参阅下图以供参考:

在此处输入图片说明

Now the problem is I am using webView of example.com in the app and I want to display the message on 'example.com` itself so whatever codes I use to show the message also gets displayed in webView. 现在的问题是我在应用程序中使用example.com webView,并且我想在“ example.com”本身上显示消息,因此我用来显示消息的任何代码也会显示在webView中。 Is there any way to detect or differentiate between android browsers and android webView apps? 有什么方法可以检测或区分android浏览器和android webView应用程序吗?

Note: I want to show the message on the website and not in the app. 注意:我想在网站而不是应用程序中显示消息。 So provide codes in PHP, HTML or javascript and not Java. 因此,请提供PHP,HTML或javascript而非Java的代码。

Gives same o/p for both webView as well as browser. 为webView和浏览器提供相同的o / p。

<?php
$url = $_SERVER["HTTP_X_REQUESTED_WITH"];
$url1 = "com.chatadda.free";
$url2 = "com.chatadda.android";
$url3 = "com.chatadda.android.pro";
$url4 = "com.chatadda.android.premium";
if($url != $url1 || $url != $url2 || $url != $url3 || $url != $url4) {
echo "Not on App";
echo $_SERVER["HTTP_X_REQUESTED_WITH"];
}
else {
echo "On App";
}
?>

How about setting your custom header key&value or override user-agent when webView load page? 在webView加载页面时如何设置自定义标题键和值或覆盖用户代理?

For example, 例如,

String userAgent = webView.getSettings().getUserAgentString() + "/" + YOUR_PACKAGE_NAME;
webView.getSettings().setUserAgentString(userAgent);

or 要么

Map<String,String> extraHeader = new HashMap<String, String>();
extraHeader.put("isApp", "true");
webView.loadUrl(url, extraHeader);

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

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