Intereting Posts
Использование видеопотока как открытая текстура GL ES 2.0 Android: Могу ли я игнорировать ошибки «Родительское представление – это не TextView» и «sendUserActionEvent () mView == null»? Добавление сервисов Google Play в Android Studio с использованием Gradle Как установить android Lolipop в eclipse? Храните дополнительные данные в Диспетчере учетных записей Android Google Analytics V2 SDK для Android EasyTracker дает ошибки Какой самый эффективный способ для Android вызывать вызовы HTTP Web API, которые возвращают ответ JSON? Вызов пользовательского адаптера ListView из основного класса фрагмента Тост не отображается в UnCaughtExceptionHandler Данные о намерениях камеры null в onActivityResult (int requestCode, int resultCode, Intent data) в Samsung S3 Пользовательский конструктор представлений не вызывается в android 5.0.2 Как сопоставить координаты кадра для наложения в видении Как добавить объект в начало списка в ArrayAdapter? Android SHA1 освобождает хранилище ключей, не работающее с Google Maps Получить текущее время в заданном часовом поясе: андроид

Обнаруживать браузер 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 с именем вашего пакета