Встроенный сайт на Android проверяет, открыт ли сайт приложением или браузером - PullRequest
0 голосов
/ 12 июня 2018

Я создаю новый веб-сайт, затем создаю новое приложение для Android и встраиваю его в свое приложение.

С помощью приведенного ниже сценария я могу понять, что пользователь заходит на сайт с мобильного илирабочий стол.

document.addEventListener('DOMContentLoaded', function() {
 var userAgent = navigator.userAgent || navigator.vendor || window.opera;
 if (/android/i.test(userAgent)) {
  document.getElementsByClassName('banner')[0].innerHTML = 'html';
 }
}, false);

Я хочу, чтобы мобильные пользователи загружали приложение.С помощью сценария выше я формирую HTML, который дает ссылку на мобильный пользователь для установки моего приложения.

Проблема в том, что вставленный HTML-файл одновременно отображается приложением.

Как я могу определить, когда сайт открыт приложением?

1 Ответ

0 голосов
/ 13 июня 2018

Чтобы определить, открывается ли сайт браузером или приложением Android, используйте один из следующих методов:

1-й метод

Используйте кодирование на стороне сервера дляпроверьте заголовок запроса.

PHP:

if ($_SERVER['HTTP_X_REQUESTED_WITH'] == "your.android.app.package.name") {
    //webview
} else {
    //browser
}

JSP:

if ("your.android.app.package.name".equals(req.getHeader("X-Requested-With")) ){
    //webview
} else {
    //browser
}

2ndМетод

Свяжите код JavaScript с кодом Android и вызовите его.

Используйте аннотацию @JavascriptInterface для любого метода, который вы хотите использовать в своем JavaScript.

@JavascriptInterface
public void runningOnAndroid() {
androidApp = true;
}

Вы можете найти детали здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...