9
votes

Développement d'applications Android - WebView ne fonctionne pas

Android permet au contenu d'une URL d'être affichée dans une application utilisant webview fort>. Cependant, pour une raison quelconque, cela ne fonctionne pas pour moi. Vous trouverez ci-dessous le code que IAM utilisant:

package com.news;

import android.app.Activity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class NewsActivity extends Activity {
    WebView mWebView;

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        mWebView = (WebView) findViewById(R.id.webview);
        mWebView.setWebViewClient(new NewsClient());
        mWebView.getSettings().setJavaScriptEnabled(true);
        mWebView.getSettings().setDomStorageEnabled(true);
        mWebView.loadUrl("http://www.androidpeople.com");
    }


    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) {
            mWebView.goBack();            
            return true;
        }
        return super.onKeyDown(keyCode, event);
    }

    private class NewsClient extends WebViewClient {

        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            System.out.println("URL: " + url);
            view.loadUrl(url);
            return true;
        }
    }
}


2 commentaires

Avez-vous donné une autorisation d'accès à Internet dans le fichier Manifest Android?


Peut-être avez-vous eu votre solution d'ici: Stackoverflow.com/a/54129121/9764941


6 Réponses :


0
votes

Ajoutez ceci dans votre manifeste Android si non ajouté:

<uses-permission android:name="android.permission.INTERNET" />


0 commentaires

4
votes

Il est évident!

Vous mettez en place un nouveau WebviewClient dans lequel vous prenez la base dépassant la méthode . Cette méthode est appelée à chaque URL que vous chargez. Et qu'est-ce que tu fais là-bas? Vous retournez vrai (ce qui signifie que le chargement doit être remplacé), puis commencer à charger la même URL! Ainsi, le chargement de l'URL ne se produira jamais.

supprimer simplement cette ligne: xxx


2 commentaires

Il y avait un petit problème. En soumettant la forme indiquée dans la première page. Il ouvre la page suivante du navigateur au lieu de l'application .. Comment puis-je contourner ça ??


Vous devriez retourner faux à la place.



0
votes

Ajouter cette ligne: mwebview.setwebviewClient (New NewsClient ());

mais devraitOverrideurlloading devrait renvoyer false .


1 commentaires

Pourriez-vous s'il vous plaît Modifier dans une explication de la raison pour laquelle ce code répond à la question? Les réponses de code uniquement sont découragé , car ils n'enseignent pas la solution.



0
votes

Votre code fonctionne dans mon appareil Android 4.2.2, votre implémentation ne pose aucun problème, la seule chose que vous devez faire est de remplacer votre méthode comme celle-ci: xxx

ceci Méthode


0 commentaires

0
votes

Je pense que vous pouvez simplement charger une URL dans votre WebView pour afficher le site Web de votre application, comme xxx

et la permission est la plus importante xxx

Pour plus de détails: http: // androidcoding.in/2016/03/17/Android-Tutorial-on-Webview-for-beginners/


0 commentaires

0
votes

Vous mettez en œuvre une nouvelle webviewClient dans laquelle vous remplissez la méthode de la réception. Si vous avez besoin de plus d'informations, visitez ici: https://weeletarners.blogspot.com/2021/06/how-a-enable-video-image-and-file-upload-in-andrid-webview-app.html < / a>


1 commentaires

SHORIFA ISLAM, un lien vers une solution est la bienvenue, mais assurez-vous que votre réponse est utile sans cela: Ajouter un contexte autour du lien de sorte que votre Les autres utilisateurs auront une idée de ce que c'est et pourquoi il est là, puis cite la partie la plus pertinente de la page que vous liez au cas où la page cible est indisponible. réponses qui sont guère plus qu'un lien peut être supprimé.