package
org.geeksforgeeks.networkspeed
import
android.content.Context
import
android.net.ConnectivityManager
import
android.os.Build
import
androidx.appcompat.app.AppCompatActivity
import
android.os.Bundle
import
android.widget.Button
import
android.widget.Toast
import
androidx.annotation.RequiresApi
class
MainActivity : AppCompatActivity() {
@RequiresApi
(Build.VERSION_CODES.M)
override fun onCreate(savedInstanceState: Bundle?) {
super
.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val btn = findViewById<Button>(R.id.btn)
btn.setOnClickListener {
val cm = applicationContext.getSystemService
(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
val nc = cm.getNetworkCapabilities(cm.activeNetwork)
val downSpeed = (nc.linkDownstreamBandwidthKbps)/
1000
val upSpeed = (nc.linkUpstreamBandwidthKbps)/
1000
Toast.makeText(applicationContext,
"Up Speed: $upSpeed Mbps \nDown Speed: $downSpeed Mbps"
,
Toast.LENGTH_LONG).show()
}
}
}