Android: веб-просмотр внутри действия не запускается локально хранится веб-приложение должным образом - PullRequest
0 голосов
/ 30 января 2012

Я имею дело со следующей проблемой:

У меня есть веб-просмотр внутри действия:

webView = (WebView) findViewById(R.id.webview);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setDatabaseEnabled(true);
webView.getSettings().setBuiltInZoomControls(false);
webView.getSettings().setSupportZoom(false);
webView.getSettings().setLoadWithOverviewMode(true);
webView.getSettings().setUseWideViewPort(true);
webView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
webView.setScrollbarFadingEnabled(false);

webView.setWebViewClient(new HelloWebViewClient());
System.out.println("percorso" + path.toString());
url.setText(path.toString()); 
webView.loadUrl("local path of my html file" .....\..\..page.htm);

private class HelloWebViewClient extends WebViewClient {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        return true;
    }
}

Это приложение, которое я хотел бы запустить локально в автономном режиме: http://miniapps.co.uk/checklist/ Если я открываю браузер и перехожу по ссылке выше, все работает нормально, поэтому браузер Android действительно может его запустить.

Теперь я скачал это приложение и сохранил его в папкена моей SD-карте: скачать / myapp в папке у меня есть html-файл: check_list.htm и папка (файлы check_list) с файлами javascript, необходимыми для его запуска.

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

Я думал, что это может быть проблемойсвязанных с моими настройками веб-просмотра, поэтому я использовал Astro File Manager для серфинга на SD-карту, я нажал на check_list.htm, я выбрал просмотрщик HTML, и у меня возникли те же проблемы ....

Так что я загрузил Opera Mobileи я сделал то же самое, но на этот раз я открылt с оперой, и теперь она работает правильно.

Знаете почему?Как я могу решить проблему?Мне не хватает некоторых настроек в моем веб-представлении или браузер webview \ android, который вызывает некоторые проблемы с открытием локально сохраненных html-страниц и запуском связанных javascript-файлов?

EDIT Если я открою браузер android иЯ пишу путь к файлу HTML, он работает.Я должен сделать это вручную, потому что если я нажму на HTML-файл, браузер Android это не вариант ...... так что, в конце концов, он работает как на браузере Android и Opera, и это не с HTML Viewer и мойвеб-представление ..... поэтому мне не хватает некоторых настроек, потому что веб-представление должно иметь те же функции браузера Android ... не так ли?

Ответы [ 2 ]

0 голосов
/ 30 января 2012

Пожалуйста, подтвердите ранее, ваш локальный файл находится в каталоге asset / www / index.html.

0 голосов
/ 30 января 2012

Если «не запускается» означает, что он не открывает новые окна, это потому, что вам нужно указать клиент веб-просмотра.

Из Javadoc for WebView

По умолчанию запросы HTML на открытие новых окон игнорируются.Это верно независимо от того, открываются они с помощью JavaScript или целевого атрибута в ссылке.Вы можете настроить свой WebChromeClient для обеспечения собственного поведения при открытии нескольких окон и отображать их любым удобным для вас способом.

См. https://stackoverflow.com/a/3847016/94363 или rtfm ...

...