Как определить правильный пользовательский агент в приложениях Android, работающих в ChromeOS?Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Как определить правильный пользовательский агент в приложениях Android, работающих в ChromeOS?

Сообщение Anonymous »

Я написал этот базовый код, чтобы определить тип приложения, на котором работает мое гибридное приложение для Android: на рабочем столе, планшете и телефоне:

Код: Выделить всё

​var deviceDetector = (function() {
var userAgent = navigator.userAgent.toLowerCase();

var detectDevice = function(ua) {
ua = ua.toLowerCase();

// Check for ChromeOS specifically
if (/cros/.test(ua)) {
return "desktop";
}

// Check for Android TV specifically
if (/android.*tv/.test(ua)) {
return "desktop";
}

// Check for tablets
if (/ipad|tablet|(android(?!.*mobile))|(windows(?!.*phone)(.*touch))|kindle|playbook|silk|(puffin(?!.*(IP|AP|WP)))/.test(ua)) {
return "tablet";
}

// Check for phones
if (/mobi|ipod|phone|blackberry|opera mini|fennec|minimo|symbian|psp|nintendo ds|archos|skyfire|puffin|blazer|bolt|gobrowser|iris|maemo|semc|teashark|uzard/.test(ua)) {
return "phone";
}

// Default to desktop
return "desktop";
};

var detectedDevice = detectDevice(userAgent);

return {
device: detectedDevice,
detect: detectDevice,
isMobile: detectedDevice !== "desktop",
userAgent: userAgent
};
})();
В большинстве случаев он работает довольно хорошо, но не работает на Chromebook, поскольку вместо отображения пользовательского интерфейса планшета или настольного компьютера всегда отображается интерфейс Android Mobile.
Приложение по-прежнему работает нормально, но в ландшафтных режимах оно теряет свои основные преимущества, а пользовательский интерфейс время от времени ломается. Есть ли у вас идеи, как я могу это исправить или обнаружить правильный пользовательский агент? Он должен вернуться к работе на рабочем столе.
Примечания:
Я уже пытался связаться с форумом Chromium OS без любые ответы: https://groups.google.com/a/chromium.or ... os-discuss
Кроме того, если вам интересно, откуда мне знать, что возвращается неправильный пользовательский агент? Видео в Play Store показывают мне превью. Вот как это выглядит в ChromeOS в настоящее время:
Изображение
< /p>
И вот как это должно выглядеть:
Изображение

Существуют существенные различия. Первый пользовательский интерфейс не так отзывчив, как должен быть, и это правильно, поскольку он запланирован для телефонов, а не для устройств с большим экраном.
Это видео для предварительного просмотра в Play Маркете:
Изображение

И это проверенные устройства из Play Store:
Изображение

Только в ChromeOS пользовательский интерфейс почему-то не работает, поскольку используется неправильный User-Agent.

Подробнее здесь: https://stackoverflow.com/questions/788 ... n-chromeos
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»