Как обнаружить Android браузеры, но не Android App (WebView)?

Я создал Android-приложение для своего веб-сайта example.comс помощью WebView. Теперь я хочу, чтобы мои пользователи просматривали мой сайт только из приложения, поэтому я хочу показать сообщение на нижнем колонтитуле, как это делает Quora для пользователей Android, просматривающих из браузеров. См. изображение ниже Для справки:

Введите описание изображения здесь

Теперь проблема в том, что я использую webView example.comв приложении, и я хочу отобразить сообщение на ‘example.com’ сам по себе, поэтому любые коды, которые я использую, чтобы показать сообщение, также отображаются в webView. Есть ли какой-либо способ определить или дифференцировать между браузерами android и приложениями android webView?

Примечание: Я хочу, чтобы показать сообщение на веб-сайте, а не в приложении. Поэтому предоставляйте коды на PHP, HTML или javascript, а не на Java.

2 ответа

  1. Дает тот же o/p как для webView, так и для браузера.

    <?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";
    }
    ?>
    
  2. Как установить пользовательский ключ заголовка и значение или переопределить user-agent при загрузке webView?

    Например,

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

    или

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