Created
August 13, 2021 09:46
-
-
Save davidelp68/9acd8083f2e8eb8b10b6dc9137a2ed07 to your computer and use it in GitHub Desktop.
Android Studio - WebView
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.dm.tutorialwebview11 | |
import android.content.Context //Importazione della Classe: Context | |
import android.net.ConnectivityManager //Importazione della Classe: ConnectivityManager | |
import android.net.NetworkCapabilities //Importazione della Classe: NetworkCapabilities | |
import android.os.Build | |
import androidx.appcompat.app.AppCompatActivity | |
import android.os.Bundle | |
import android.webkit.WebChromeClient | |
import android.webkit.WebView | |
import android.webkit.WebViewClient | |
import android.widget.Toast | |
class MainActivity : AppCompatActivity() { | |
var webview: WebView? = null | |
override fun onCreate(savedInstanceState: Bundle?) { | |
super.onCreate(savedInstanceState) | |
setContentView(R.layout.activity_main) | |
webview = findViewById(R.id.myweb) | |
webview!!.webViewClient = WebViewClient() | |
webview!!.settings.javaScriptEnabled = true | |
webview!!.webChromeClient = WebChromeClient() | |
webview!!.settings.domStorageEnabled = true | |
webview!!.settings.builtInZoomControls = true | |
webview!!.settings.setSupportZoom(true) | |
webview!!.overScrollMode = WebView.OVER_SCROLL_NEVER | |
webview!!.settings.useWideViewPort = true | |
webview!!.setInitialScale(1) | |
webview!!.loadUrl("https://davidetech.blogspot.com") | |
//controllo della connessione in fase di avvio dell'app | |
if(isConnected(this)) | |
{ | |
//aggiungere qui eventuale codice da eseguire se il dispositivo è connesso ad internet | |
} | |
else | |
{ | |
//aggiungere qui eventuale codice da eseguire se il dispositivo NON è connesso ad internet | |
Toast.makeText(this, "Non connesso ad internet", Toast.LENGTH_LONG).show() | |
} | |
//fine del controllo | |
} | |
//funzione che verifica lo stato della connessione internet | |
private fun isConnected(context: Context): Boolean | |
{ | |
val connectivityManager = context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager | |
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { | |
////per versioni Android uguali o superiori ad Android M (Android 6.0 - API 23) | |
val nw = connectivityManager.activeNetwork ?: return false | |
val actNw = connectivityManager.getNetworkCapabilities(nw) ?: return false | |
return when { | |
actNw.hasTransport(NetworkCapabilities.TRANSPORT_WIFI) -> true | |
actNw.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR) -> true | |
//per altri dispositivi che sono in grado di connettersi con Ethernet | |
actNw.hasTransport(NetworkCapabilities.TRANSPORT_ETHERNET) -> true | |
//per controllare la connessione Internet tramite Bluetooth | |
actNw.hasTransport(NetworkCapabilities.TRANSPORT_BLUETOOTH) -> true | |
else -> false | |
} | |
} | |
else //per versioni Android inferiori ad Android M (Android 6.0 - API 23) | |
{ | |
return connectivityManager.activeNetworkInfo?.isConnected ?: false | |
} | |
} | |
//fine della funzione che verifica lo stato della connessione internet | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment