Перенаправление URL веб-просмотра Android - PullRequest
1 голос
/ 22 августа 2011

В моем приложении есть веб-просмотр, который при запуске отображает HTML-страницу. На странице есть гиперссылка, которая при клике должна отображать видео.

Когда я запускаю приложение и нажимаю гиперссылку на видео, ничего не происходит. Но если я загружаю ту же страницу в браузер Android, то он запускает видео плеер по умолчанию, и все работает нормально.

Далее я отладил его, поместив оператор log в метод shouldOverrideUrlLoading и заметил, что при нажатии на гиперссылку он перенаправляется на другую ссылку, а затем на другую ссылку (окончательный URL-адрес потокового видео).

Мой вопрос таков: почему ссылка работает отлично в браузере Android по умолчанию, а не через веб-просмотр.

Спасибо

Ответы [ 3 ]

1 голос
/ 10 августа 2012

После объявления вашего WebView вы должны включить JavaScript, тогда ваш WebView будет работать как браузер.

Например:

WebView mwebview = new WebView(this);
setContentView(mwebview);

mwebview.getSettings().setJavaScriptEnabled(true);

или

mwebview.getSettings().setPluginState(PluginState.ON); // this is for newer API's
1 голос
/ 22 августа 2011

Что происходит, когда вы нажимаете гиперссылку, эта ссылка, вероятно, содержит несколько всплывающих окон. Вам необходимо определить функцию onCreateWindow в WebChromeClient вашего веб-представления. Это определяет, как обрабатываются вызовы для открытия новых окон или всплывающих окон.

public boolean onCreateWindow (WebView view, boolean dialog, boolean userGesture, Message resultMsg) {

    ((WebView.WebViewTransport) resultMsg.obj).setWebView(myWebView);
    resultMsg.sendToTarget(); 
    return true;
}
0 голосов
/ 22 августа 2011

По сути, не ожидайте, что ваш встроенный WebView работает так же, как браузер Android по умолчанию.Браузер по умолчанию построен на том же WebView, но есть множество настроек.(Особенно в отношении нестандартного URI, HTML5)

Я следовал следующему коду: WebView и HTML5 , и я поставил ссылку на видео на тег видео, и яполучил видео, воспроизводимое в моей собственной версии WebView.Поведение немного отличается от браузера по умолчанию.Если бы у нас было больше времени, мы могли бы понять это, посмотрев на его код, но в любом случае ...

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