Я знаю, что этот вопрос задавался в разных форматах на этом форуме, но ни один из ответов, принятых или не найденных мной, помог мне до сих пор.
Я работаю над гибридным приложением, которое использует собственные андроиды, HTML и Adboe Flex SDK (без каких-либо фреймворков, таких как PhoneGap и т.д., простой код с использованием собственного веб-браузера Android).
Здесь проблема, с которой я сталкиваюсь:
Когда приложение запускается, сначала запускается действие "AppEntry" для flex sdk, это пустая деятельность, которая просто устанавливает контекст и начальные настройки для Flex SDK. Затем запускается собственный MainActivity, который использует WebView для загрузки проекта HTML. В Android 4.0.x(ICS) веб-просмотр оказывается пустым (белый), даже если URL-адрес загружен (onPageFinished() успешно вызван для данного URL-адреса). Это происходит при первом запуске приложения и его запуске после остановки приложения (удалив его из панели последних приложений), страница загружается, как ожидалось. Повторное повторное запуски, как это, иногда воспроизводит проблему, но с непредсказуемой частотой.
Некоторые вещи для рассмотрения:
-
Из-за ограничений flex sdk эти HTML файлы не могут быть сохранены непосредственно в папке "/assets", но структура каталогов содержится в папке с ресурсами.
-
Проблема возникает только на Ice Cream Sandwich (известная проблема, я думаю)!
Что я уже пробовал:
- Аппаратное ускорение выключено (включение/выключение не имеет значения, проверено с обоими)
2.
WebSettings settings = webView.getSettings();
settings.setJavaScriptEnabled(true);
settings.setUseWideViewPort(true);
settings.setLoadWithOverviewMode(true);
settings.setSupportMultipleWindows(true);
settings.setJavaScriptCanOpenWindowsAutomatically(true);
settings.setLoadsImagesAutomatically(true);
settings.setDomStorageEnabled(true);
settings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NARROW_COLUMNS);
settings.setSaveFormData(true);
settings.setAllowFileAccess(true);
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB){
settings.setAllowContentAccess(true);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
settings.setAllowFileAccessFromFileURLs(true);
settings.setAllowUniversalAccessFromFileURLs(true);
}
}
settings.setAppCacheEnabled(true);
settings.setJavaScriptCanOpenWindowsAutomatically(true);
settings.setLoadsImagesAutomatically(true);
boolean enableZoom = true;
settings.setBuiltInZoomControls(enableZoom);
settings.setSupportZoom(enableZoom);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ECLAIR_MR1) {
initializePluginAPI(webView);
}
settings.setDatabaseEnabled(true);
Проблема заключается в том, что я убил комментарии к просмотру приложения в магазине воспроизведения. Любая помощь или понимание будут оценены.