Веб-просмотр Android показывает источник URL-адреса вместо обычной загрузки URL-адреса

У меня есть активность, которая в основном представляет собой большой веб-просмотр с некоторыми другими кнопками. Обычно я загружаю URL-адреса в веб-просмотр, и все работает нормально. Но есть один веб-сайт, все URL-адреса которого загружаются в виде исходных файлов вместо обычного html (браузер показывает обычный текст, содержащий теги html). Странно то, что с помощью браузера телефона этот URL-адрес загружается просто отлично.

http://pelephone.ynet.mobile1.co.il/default.aspx?N=/ynet/ArticleList.aspx?category=3

Может быть, это как-то связано с файлом aspx? на моем ноутбуке URL-адрес не загружается, а загружается в виде файла. но тем не менее, браузер телефона прекрасно с этим справляется.

Большое спасибо за Вашу помощь!


person Ori Weiss    schedule 15.07.2011    source источник


Ответы (1)


Это определенно проблема с URL-адресом или вообще с URL-адресами WML. Mime-тип предоставленного URL-адреса — «text/vnd.wap.wml». Android этого не поддерживает, он отображает источник таких страниц в виде обычного текста. Вы можете найти соответствующий фрагмент кода

} else if (mMimeType.equals("text/vnd.wap.wml")) {
            // As we don't support wml, render it as plain text
            mMimeType = "text/plain";

в git://android.git.kernel.org/platform/frameworks/base.git/core/java/android/webkit/LoadListener.java (строка 375).

Итак, это правильное поведение фреймворка (которое относится к WebView).

Я не уверен, почему браузер отображает это, в основном это не должно и не здесь (протестировано с эмулятором 1.6. и 2.3 и моим желанием 2.2. HTC). Вы уверены, что ваш браузер стоковый? Возможно, вы используете альтернативный браузер, например Opera. Или ваш провайдер/производитель добавил некоторую поддержку wap для своего «премиум-контента» (если ваш телефон фирменный и/или имеет нестандартные функции, такие как sense).

person Community    schedule 15.07.2011
comment
Привет, alextsc, Большое спасибо за подробный ответ! У меня есть телефон HTC, поэтому я предполагаю, что уровень Sense отвечает за то, что браузер показывает контент... Теперь я попытался загрузить ту же веб-страницу на свой nexus S, и она показала обычный текст, как вы и ожидали. В очередной раз благодарим за помощь. - person Ori Weiss; 16.07.2011
comment
Эй, конечно, пожалуйста. Если вы считаете, что это ответ на ваш вопрос, пожалуйста, отметьте его как правильный ответ. :) - person ; 16.07.2011