Подтвердить что ты не робот

Учебник "Hello, WebView" открывает запрошенный адрес в браузере Android, а не в моем веб-просмотре

Я использую Android-эмулятор с AVD Android 2.1, и у меня есть следующая проблема: попытка загрузить URL-адрес в WebView с помощью webView.loadUrl заставляет его открываться в браузере.

Примечание. Я говорю об начальном открытии, не проблема, при которой ссылки из WebView открываются в браузере, хотя, возможно, это как-то связано.

Я пробовал несколько вещей:

  • Я удалил <uses-permission android:name="android.permission.INTERNET" /> из манифеста. Это фактически заставило его работать правильно, то есть загрузить html в webview. Однако, как и следовало ожидать, единственная вещь, которую она загрузила, - это страница "Невозможно подключиться к Интернету".
  • Я отлаживал проект, чтобы убедиться и действительно в loadUrl, он открывает браузер Android. CatLog в данный момент таков:

05-23 22: 54: 06.858: INFO/ActivityManager (51): запуск активность: Intent { действовать = android.intent.action.VIEW кот = [android.intent.category.BROWSABLE] dat = http://m.walla.co.il/ErrorPage.aspx?ReturnUrl=/Default.aspxCMP = com.android.browser/.BrowserActivity }

  • Я пробовал загрузить реальный пример (исходные файлы книги "Hello Android", проект - BrowserView). Однако это не сработало.
  • Я создал новый проект и следил за инструкциями в Google официальном учебнике по использованию WebView и получил тот же результат.

Я еще никого не жалуюсь. Почему это происходит?

Спасибо, Виталий

4b9b3361

Ответ 1

URL-адрес, который вы пытаетесь посетить, вероятно, имеет перенаправление. Переадресация ведет себя как клики ссылок и по умолчанию будет открываться в браузере. Убедитесь, что URL-адрес, который вы посещаете, не выполняет перенаправление (например, ответ HTTP 301) или использует WebViewClient и shouldOverrideUrlLoading(), чтобы поймать их и перенаправить их обратно в WebView.