Обнаруживать браузер Android или WebView

Как Javascript может определить, загружен ли веб-сайт в браузере Android или загружен в WebView другого приложения? В этих двух случаях я хотел бы запустить немного другой код.

Solutions Collecting From Web of "Обнаруживать браузер Android или WebView"

Активность -> onCreate

 this.webView.getSettings().setUserAgentString( this.webView.getSettings().getUserAgentString() + " " + getString(R.string.user_agent_suffix) ); 

Res -> Значения -> strings.xml

 <string name="user_agent_suffix">AppName/1.0</string> 

Javascript

 function() isNativeApp { return /AppName\/[0-9\.]+$/.test(navigator.userAgent); } 

Вы можете проверить переменные сервера на запрашиваемой странице, чтобы узнать, поступает ли от вашего приложения, и установить соответственно переменную javascript.

 if($_SERVER['HTTP_X_REQUESTED_WITH'] == "com.company.app") echo 'var isAndroidApp=true;'; else echo 'var isAndroidApp=false;'; 
  • Замените com.company.app с именем вашего пакета