Broadcast Receiver pada Android adalah komponen yang memungkinkan aplikasi mendengarkan broadcast message dari sistem atau aplikasi lain. Pesan ini dapat berasal dari sistem Android (seperti pemberitahuan tentang perubahan status jaringan atau low battery) atau aplikasi lain.
Di Android Jetpack Compose, Broadcast Receiver tetap digunakan untuk tujuan yang sama seperti di View system, tetapi implementasinya dapat sedikit berbeda karena Jetpack Compose berbasis declarative UI.
Buat project baru pada android studio, kemudian pilih empty activity jetpack compose
Pada MainActivity.kt. buat compose didalam mengecheck perubahan koneksi jaringan, seperti dibawah ini :
@Composable
fun NetworkStatusReceiver() {
val context = LocalContext.current
val networkStatus = remember { mutableStateOf("Connected") }
LaunchedEffect(Unit) {
val receiver = object : BroadcastReceiver() {
override fun onReceive(context: Context, intent: Intent) {
val isConnected = intent.getBooleanExtra("isConnected", false)
networkStatus.value = if (isConnected) "Connected" else "Disconnected"
}
}
// Intent Filter untuk mendeteksi konektivitas
val intentFilter = IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION)
context.registerReceiver(receiver, intentFilter)
// Bersihkan receiver saat tidak digunakan
onDispose {
context.unregisterReceiver(receiver)
}
}
// Tampilan UI berdasarkan status jaringan
Text(text = "Network Status: ${networkStatus.value}")
}
- kemudian panggul compose tersebut didalam oncreate setContent. maka broadcast akan dijalankan ketika setelah aplikasi diinstall
Selamat Mencoba, Terimaksih