Android 4.0 WebView.loadURL странность

1

У меня есть приложение для Android, которое включает в себя действие под названием Help В нем используется WebView для отображения содержимого справки в формате HTML. Активность Thie может быть вызвана двумя способами: либо передачей URL, либо прямым текстовым контентом. Единственный URL, который я когда-либо передавал, это "файл:///android_asset/help/index.html" (который является страницей HTML, включенной в мои активы в APK).

Передача URL-адреса отлично работает на моем HTC Desire под управлением Android 2.2. Он также работает в эмуляторе под управлением Android 3.0. Однако, когда я пытаюсь использовать его в эмуляторе с Android 4.0, похоже, вместо этого он пытается запустить веб-браузер, чтобы отобразить пустую страницу; Когда я закрываю это, я возвращаюсь в свою справочную деятельность, также показывая пустую страницу.

Передача прямого текстового содержимого отлично работает на всех версиях Ive. Документация WebView гласит: "Обратите внимание, что для того, чтобы ваша активность имела доступ к Интернету и загружала веб-страницы в WebView, вы должны добавить Разрешения INTERNET для вашего файла манифеста Android:" Но мне нет необходимости в доступе к Интернету как таковому, я просто хочу отобразить страницу моей внутренней справки. И это работало над версиями Android до 4.0.

Это ошибка в Android 4? Или это просто то, что я неправильно понял? Спасибо за любую помощь.

  • 0
    Вы пробовали, если это работает, когда у вас есть разрешение ИНТЕРНЕТ?
  • 0
    Я действительно не хочу добавлять это, так как я уже опубликовал приложение без разрешения ИНТЕРНЕТ. Это хорошая идея - избегать произвольного добавления разрешений в приложения, не так ли: мы хотим научить пользователей Android с подозрением относиться к разрешениям, которые требуются приложениям, а не просто слепо нажимать «Принять» на всем.
Показать ещё 1 комментарий
Теги:

1 ответ

1
Лучший ответ

Я обновил последнюю неделю с 2.3.4 до 4.0 на моем HTC Sensation. В двух приложениях, которые я написал, был локальный сайт HTML-Contact. На 2.3 он прошел отлично, теперь я получаю сайт "Веб-страница недоступен".

Я нашел еще одно сообщение на этом сайте с комментарием: "Через некоторое обсуждение с инженером Google кажется, что они приняли решение о том, что схема файла://небезопасна".

Смотрите здесь: Android 4.0.1 разбивает локальное хранилище WebView HTML 5

  • 1
    Обходной путь работает, хотя вы должны поместить весь html в строку и экранировать каждую html-цитату. Не тратьте свое время на то, чтобы поместить его в строку (в string.xml), потому что XML-файл искажен.
  • 0
    Спасибо за подтверждение, что я не единственный, кто это видит, и что это особенность, а не ошибка. :)
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню