Есть несколько способов решения этой проблемы.
1) Вы можете просто добавить ссылки m.yahoo.com
в свой белый список. Это может быть самое простое решение.
2) В зависимости от того, подходит ли это, вы можете изменить строку user-agent вашего браузера, чтобы идентифицировать себя как браузер на рабочем столе. Вкратце, вы вызываете getSettings()
в WebView и вызываете его метод setUserAgentString()
, передавая строку агента пользователя из популярного настольного веб-браузера.
3) Вы можете написать небольшой Java-код для разбора URL.getHostName()
, чтобы сократить имя хоста только до имени домена верхнего уровня (например, "m.yahoo.com
" -> "yahoo.com
"), а затем сравнить с белым списком.
4) Вы можете сопоставить белый список с шаблонами имен хостов, а не с простыми строками. Сделайте каждую запись в вашем белом списке регулярным выражением, которое соответствует различным хостам. Затем вы просто сопоставляете каждую запись в своем белом списке с URL.getHostName()
. Если вы новичок в регулярных выражениях или регулярных выражениях в Java, есть множество учебных пособий , а справка доступна здесь по переполнению стека.