(app android aula 06) Verificando se o usuário está com sinal de Internet

Evite essa página 

Para evitar o erro a cima

1. Vamos verificar se o usuário está conectado à Internet ou não
Abra seu arquivo AndroidManifest.xml e coloque esse código no local indicado na imagem!

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

3. Agora Abra seu arquivo MainActivity.java e substitua todo o código abaixo de package como mostrado na imagem!

import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.Bundle;
import android.util.Log;
import android.webkit.WebView;
import android.webkit.WebViewClient;

import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

    String websiteURL = "https://minutoculinaria.com.br/"; // coloque aqui a URL do seu site
    private WebView webview;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        if( ! CheckNetwork.isInternetAvailable(this)) //retorna true se tiver sinal de internet
        {
            //se não tiver internet
            setContentView(R.layout.activity_main);
            //Toast.makeText(this,"No Internet Connection, Chris",Toast.LENGTH_LONG).show();

            new AlertDialog.Builder(this) //alertar o usuario
                    .setTitle("Sem conexão com a internet :(")
                    .setMessage("Por favor, verifique se você tem dados móveis ou rede Wifi.")
                    .setPositiveButton("Ok", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            finish();
                        }
                    })
                    //.setNegativeButton("No", null)
                    .show();

        }
        else
        {
            //Webview stuff
            webview = findViewById(R.id.webView);
            webview.getSettings().setJavaScriptEnabled(true);
            webview.getSettings().setDomStorageEnabled(true);
            webview.setOverScrollMode(WebView.OVER_SCROLL_NEVER);
            webview.loadUrl(websiteURL);
            webview.setWebViewClient(new WebViewClientDemo());

        }
    }


    private class WebViewClientDemo extends WebViewClient {
        @Override
        //Keep webview in app when clicking links
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return true;
        }
    }


}

class CheckNetwork {

    private static final String TAG = CheckNetwork.class.getSimpleName();

    public static boolean isInternetAvailable(Context context)
    {
        NetworkInfo info = (NetworkInfo) ((ConnectivityManager)
                context.getSystemService(Context.CONNECTIVITY_SERVICE)).getActiveNetworkInfo();

        if (info == null)
        {
            Log.d(TAG,"no internet connection");
            return false;
        }
        else
        {
            if(info.isConnected())
            {
                Log.d(TAG," internet connection available...");
                return true;
            }
            else
            {
                Log.d(TAG," internet connection");
                return true;
            }

        }
    }
}

Agora se o usuário não estiver conectado a Internet aparecerá um aviso
Por favor, verifique se você tem dados móveis ou rede Wifi“.

Agora vamos testar

No aparelho celular desligue wifi e dados móveis

 

No Android Studio aperte o play ao lado do modelo do aparelho Motorola Moto E6S 

ao abrir o aplicativo também abrirá um aviso

até a próxima aula

Facebook Comments Box