
Detecting internet connection status in your app is very easy and won’t take more than 5mins. In this article, you will learn how to detect internet connection status manually and automatically. Using broadcast receiver, your app will be automatically notified when there is a change in the network connection
actvity_main.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:orientation="vertical" android:layout_height="match_parent" tools:context="com.androindian.raj.imei.MainActivity"> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/network" android:text="Network Checking"/> </LinearLayout> |
MainActivity.kt
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
package com.androindian.raj.imei import android.Manifest import android.content.Context import android.content.pm.PackageManager import android.support.v4.app.ActivityCompat import android.support.v7.app.AppCompatActivity import android.os.Bundle import android.telephony.TelephonyManager import android.view.View import android.widget.Button import android.widget.Toast class MainActivity : AppCompatActivity() { lateinit var bt: Button lateinit var cd: ConnectionDetector override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val button = findViewById<Button>(R.id.imei) cd = ConnectionDetector() cd.isConnectingToInternet(this@MainActivity) bt = findViewById(R.id.network) bt.setOnClickListener { if (cd.isConnectingToInternet(this@MainActivity)) { Toast.makeText(applicationContext, "net is there", Toast.LENGTH_LONG).show() } else { Toast.makeText(applicationContext, "no net", Toast.LENGTH_LONG).show() } } } } |
ConnectionDetector.kt
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
package com.androindian.raj.imei import android.content.Context import android.net.ConnectivityManager import android.net.NetworkInfo /** * Created by ALMIGHTY on 3/6/2017. */ class ConnectionDetector { fun isConnectingToInternet(context: Context): Boolean { val connectivity = context.getSystemService( Context.CONNECTIVITY_SERVICE) as ConnectivityManager if (connectivity != null) { val info = connectivity.allNetworkInfo if (info != null) for (i in info) if (i.state == NetworkInfo.State.CONNECTED) { return true } } return false } } |