Webview ne charge pas la première fois
Je suis à la lutte avec un étrange problème. Je suis en train de charger une page web https, mais la première fois que la webview ne charge pas. Après attendre 60 secondes, je dois cliquer à nouveau dans mon bouton pour charger ma page. Mon appareil est un Nexus 4 avec Lollipop, mais ce problème se produit sur les appareils avec Android 4.4 et 4.1. L'URL n'a pas de contenu lourd à seulement quelques fichiers javascript et css fichiers.
Journal:
I/WebViewFactory﹕ Loading com.google.android.webview version 37 (1602158-arm) (code 111201)
I/LibraryLoader﹕ Loading: webviewchromium
I/LibraryLoader﹕ Time to load native libraries: 3 ms (timestamps 5331-5334)
I/LibraryLoader﹕ Expected native library version number "",actual native library version number ""
I/LibraryLoader﹕ Expected native library version number "",actual native library version number ""
I/chromium﹕ [INFO:library_loader_hooks.cc(106)] Chromium logging enabled: level = 0, default verbosity = 0
I/BrowserStartupController﹕ Initializing chromium process, renderers=0
W/art﹕ Attempt to remove local handle scope entry from IRT, ignoring
W/chromium﹕ [WARNING:resource_bundle.cc(315)] locale_file_path.empty()
I/chromium﹕ [INFO:aw_browser_main_parts.cc(63)] Load from apk succesful, fd=72 off=159196 len=3264
I/chromium﹕ [INFO:aw_browser_main_parts.cc(78)] Loading webviewchromium.pak from, fd:73 off:229484 len:643667
W/AudioManagerAndroid﹕ Requires BLUETOOTH permission
W/chromium﹕ [WARNING:proxy_service.cc(901)] PAC support disabled because there is no system implementation
W/chromium﹕ [WARNING:data_reduction_proxy_settings.cc(403)] SPDY proxy OFF at startup
W/art﹕ Attempt to remove local handle scope entry from IRT, ignoring
W/AwContents﹕ onDetachedFromWindow called when already detached. Ignoring
I/chromium﹕ [INFO:SkUtilsArm.cpp(179)] Device supports ARM NEON instructions!
Mon code:
final WebView wv = (WebView) alert.findViewById(R.id.modal_wv);
wv.getSettings().setAppCacheEnabled(true);
wv.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT);
wv.getSettings().setAppCachePath("/data/data/" + getPackageName() + "/cache");
wv.getSettings().setAllowFileAccess(true);
wv.getSettings().setJavaScriptEnabled(true);
wv.loadUrl(connectionResponse.getUrl());
/*
//Same behavior ...
wv.post(new Runnable() {
@Override
public void run() {
wv.loadUrl(connectionResponse.getUrl());
}
});
*/
J'ai mis un new WebClient() en substituant les méthodes suivantes: shouldOverrideUrlLoading, onLoadResource, onPageFinished.Pour les tests, j'ai enlevé cette coutume WebClient, mais il n'était toujours pas de charge à la première fois.
Grâce
même ici, ne fonctionne pas la première fois...
avez-vous résolu ce problème.? je suis également confrontés à la même chose.
OriginalL'auteur Esdras | 2015-01-27
Vous devez vous connecter pour publier un commentaire.
J'ai rencontré le même problème. J'ai passé plus de 3 jours et j'ai trouvé la cause qu'un autre WebView objet d'appels pauseTimers() pour en sauver quelques-unes des performances de l'UC qui en fait des " Pauses toute la présentation, l'analyse et le JavaScript les minuteries pour tous les WebViews."
OriginalL'auteur Dangui
Puisque vous êtes chargement d'un https url dans webview, il va provoquer les enjeux de la certification SSL
si vous devez remplacer une méthode plus pour la manipulation de problème de certification et de les traiter de toute façon
voici le code comment pouvez-vous résoudre
EDIT: si vous souhaitez activer javascript interface pour votre webview
suivre la procédure suivante
Et le code javascript va aller ici
Vérifier mes modifications
OriginalL'auteur Bhavik Mehta
J'ai résolu le même problème en ajoutant webview pour la mise en page à partir de la fonction
onPageFinished(WebView view, String url)
, après qu'elle ait fini de se charger.OriginalL'auteur Hament Choudhary
Avez-vous déclaré à internet permission androidmanifest.xml?
également essayer de définir une webview client.
Si il n'avait pas eu l'autorisation de ne plus jamais le charger... même pas au bout de 60 secondes...
OriginalL'auteur Thupten