import
android.content.Intent
import
android.content.IntentFilter
import
android.os.BatteryManager
import
androidx.appcompat.app.AppCompatActivity
import
android.os.Bundle
import
android.widget.Button
import
android.widget.Toast
class
MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super
.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val btn = findViewById<Button>(R.id.btn)
btn.setOnClickListener {
val batteryStatus: Intent? =
IntentFilter(Intent.ACTION_BATTERY_CHANGED).let { ifilter ->
applicationContext.registerReceiver(
null
, ifilter)
}
val status: Int = batteryStatus?.getIntExtra(BatteryManager.EXTRA_STATUS, -
1
) ?: -
1
val isCharging: Boolean = status == BatteryManager.BATTERY_STATUS_CHARGING
|| status == BatteryManager.BATTERY_STATUS_FULL
val chargePlug: Int = batteryStatus?.getIntExtra(BatteryManager.EXTRA_PLUGGED, -
1
) ?: -
1
val usbCharge: Boolean = chargePlug == BatteryManager.BATTERY_PLUGGED_USB
val acCharge: Boolean = chargePlug == BatteryManager.BATTERY_PLUGGED_AC
when {
usbCharge -> {
Toast.makeText(applicationContext,
"USB Charging"
, Toast.LENGTH_LONG).show()
}
acCharge -> {
Toast.makeText(applicationContext,
"AC Charging"
, Toast.LENGTH_LONG).show()
}
else
-> {
Toast.makeText(applicationContext,
"Not Charging"
, Toast.LENGTH_LONG).show()
}
}
}
}
}