Как определить, осуществляется ли доступ к приложению через мобильный браузер или приложение PhoneGap с использованием Java

Есть ли способ определить, имеет ли пользователь доступ к приложению через мобильный браузер или приложение PhoneGap с использованием Java? Я видел несколько примеров того, как сделать это, используя Javascript, но не используя Java. Я читал, что вы можете прочитать URL-адрес и определить, получают ли пользователи доступ к приложению с помощью мобильного браузера или приложения PhoneGap, но я не совсем уверен, как это реализовать, и не понимаю, как будут различаться URL-адреса. Любые предложения, чтобы указать мне в правильном направлении, будет принята с благодарностью. Огромное спасибо.

2 ответа

Поскольку вы упоминаете, что проверка URL-адреса, на котором запущено приложение, является наилучшим способом, он проверяет, выполняется ли приложение на http, если true, второй блок кода выполняется, иначе это, безусловно, платформа cordova или phonegap.

var app = document.URL.indexOf( 'http://' ) === -1 && document.URL.indexOf( 'https://' ) === -1;
if ( app ) {
    // PhoneGap application
} else {
    // Web page
}  

основанный на:

http://stackru.com/a/10566220/4010758

Шутки в сторону?

Вот один перевод ответа Али Эсмаейли.

public boolean isPhoneGap(URL url) {
    String urlString = url.toExternalForm().toLowerCase();
    int isHTTP = urlString.indexOf("http://");
    int isHTTPS = urlString.indexOf("https://");
    return (isHTTP == -1) && (isHTTPS == -1);
}
Другие вопросы по тегам