Skip to content

Instantly share code, notes, and snippets.

@davidelp68
Created August 13, 2021 09:46
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save davidelp68/9acd8083f2e8eb8b10b6dc9137a2ed07 to your computer and use it in GitHub Desktop.
Save davidelp68/9acd8083f2e8eb8b10b6dc9137a2ed07 to your computer and use it in GitHub Desktop.
Android Studio - WebView
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