đĄ āĻāĻāύ BroadcastReceiver āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰāĻŦেāύ?
đĄ āĻāĻāύ BroadcastReceiver āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰāĻŦেāύ?
đ āϏংāĻ্āώেāĻĒে:
BroadcastReceiver āϤāĻāύ āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰা āĻšā§, āϝāĻāύ āĻāĻĒāύাāϰ āĻ
্āϝাāĻĒāĻে āϏিāϏ্āĻেāĻŽ āĻŦা āĻ
āύ্āϝ āĻ
্āϝাāĻĒ āĻĨেāĻে āĻĒাāĻ াāύো āĻŦ্āϰāĻĄāĻাāϏ্āĻ āĻŽেāϏেāĻ āϰিāϏিāĻ āĻāϰāϤে āĻšāĻŦে।
đ āĻāĻāύ BroadcastReceiver āĻĻāϰāĻাāϰ?
| đ āĻĒ্āϰā§োāĻāύ | ✅ āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰāĻŦেāύ |
|---|---|
| āϏিāϏ্āĻেāĻŽ āĻāĻেāύ্āĻ āĻļোāύা (Boot Complete, Battery Low, NFC State Change āĻāϤ্āϝাāĻĻি) | BroadcastReceiver |
| Wi-Fi, Bluetooth, āĻŦা āĻŽোāĻŦাāĻāϞ āĻĄাāĻা āĻ āύ/āĻ āĻĢ āĻšāϞে āϰেāϏāĻĒāύ্āϏ āĻāϰা | BroadcastReceiver |
| SMS āϰিāϏিāĻ āĻāϰা āĻŦা āĻāϞ āϏ্āĻ্āϝাāĻাāϏ āĻĒāϰিāĻŦāϰ্āϤāύ āĻĄিāĻেāĻ্āĻ āĻāϰা | BroadcastReceiver |
| āϝāĻĻি āĻ ্āϝাāĻĒ āĻŦ্āϝাāĻāĻ্āϰাāĻāύ্āĻĄে āĻĨেāĻেāĻ āĻোāύো āĻāĻেāύ্āĻ āĻš্āϝাāύ্āĻĄāϞ āĻāϰāϤে āĻšā§ | BroadcastReceiver |
| Firebase Cloud Messaging (FCM) āĻāϰ āĻŽাāϧ্āϝāĻŽে āĻĒুāĻļ āύোāĻিāĻĢিāĻেāĻļāύ āϰিāϏিāĻ āĻāϰা | BroadcastReceiver |
đĄ BroadcastReceiver āĻĻুāĻāĻাāĻŦে āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰা āϝাā§:
1️⃣ āϏ্āĻ্āϝাāĻিāĻ āĻŦ্āϰāĻĄāĻাāϏ্āĻ āϰিāϏিāĻাāϰ (Manifest āĻ āϰেāĻিāϏ্āĻাāϰ āĻāϰāϤে āĻšā§)
2️⃣ āĻĄাā§āύাāĻŽিāĻ āĻŦ্āϰāĻĄāĻাāϏ্āĻ āϰিāϏিāĻাāϰ (Runtime āĻ āϰেāĻিāϏ্āĻাāϰ āĻāϰāϤে āĻšā§)
1️⃣ āϏ্āĻ্āϝাāĻিāĻ āĻŦ্āϰāĻĄāĻাāϏ্āĻ āϰিāϏিāĻাāϰ (Manifest-āĻ āϰেāĻিāϏ্āĻাāϰ āĻāϰা)
đ āϝāĻāύ āĻ
্āϝাāĻĒ āĻŦāύ্āϧ āĻĨাāĻāϞেāĻ āĻোāύো āĻāĻেāύ্āĻ āϧāϰāϤে āĻšā§।
đ āϝেāĻŽāύ: āĻĄিāĻাāĻāϏ āϰিāĻŦুāĻ āĻšāϞে āĻ
্āϝাāĻĒ āĻাāϞু āĻāϰা, SMS āϰিāϏিāĻ āĻāϰা, NFC āϏ্āĻ্āϝাāĻাāϏ āĻেāĻ āĻāϰা āĻāϤ্āϝাāĻĻি।
✅ āĻāĻĻাāĻšāϰāĻŖ: āĻĢোāύ āϰিāĻŦুāĻ āĻšāϞে āĻ ্āϝাāĻĒ āĻাāϞু āĻāϰা
đ AndroidManifest.xml-āĻ āĻŦ্āϰāĻĄāĻাāϏ্āĻ āϰিāϏিāĻাāϰ āϝুāĻ্āϤ āĻāϰুāύ:
<receiver android:name=".BootReceiver" android:enabled="true" android:exported="false">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
đ BootReceiver.kt (BroadcastReceiver āĻ্āϞাāϏ āϤৈāϰি āĻāϰুāύ):
class BootReceiver : BroadcastReceiver() {
override fun onReceive(context: Context, intent: Intent) {
if (intent.action == Intent.ACTION_BOOT_COMPLETED) {
Toast.makeText(context, "Device Restarted!", Toast.LENGTH_SHORT).show()
}
}
}
đ ⚠️ āϏ্āĻ্āϝাāĻিāĻ āĻŦ্āϰāĻĄāĻাāϏ্āĻ āϰিāϏিāĻাāϰ āϏāĻŦāϏāĻŽā§ āĻŦ্āϝাāĻāĻ্āϰাāĻāύ্āĻĄে āϰাāύ āĻšāϤে āĻĒাāϰে, āϤাāĻ āĻāĻি āĻŦ্āϝāĻŦāĻšাāϰে āϏāϤāϰ্āĻ āĻĨাāĻāϤে āĻšāĻŦে!
2️⃣ āĻĄাā§āύাāĻŽিāĻ āĻŦ্āϰāĻĄāĻাāϏ্āĻ āϰিāϏিāĻাāϰ (Runtime āĻ āϰেāĻিāϏ্āĻাāϰ āĻāϰা)
đ āϝāĻāύ āĻ
্āϝাāĻĒ āĻাāϞু āĻĨাāĻāϞে āύিāϰ্āĻĻিāώ্āĻ āĻāĻেāύ্āĻ āϞিāϏেāύ āĻāϰāϤে āĻšā§।
đ āϝেāĻŽāύ: NFC, Wi-Fi, āĻŦা Bluetooth āĻ
āύ/āĻ
āĻĢ āĻšāϞে āϰেāϏāĻĒāύ্āϏ āĻāϰা।
✅ āĻāĻĻাāĻšāϰāĻŖ: Wi-Fi āĻ āύ/āĻ āĻĢ āĻšāϞে Toast āĻĻেāĻাāύো
đ MainActivity.kt-āĻ āĻĄাā§āύাāĻŽিāĻ āĻŦ্āϰāĻĄāĻাāϏ্āĻ āϰিāϏিāĻাāϰ āϝুāĻ্āϤ āĻāϰুāύ:
class MainActivity : AppCompatActivity() {
private lateinit var wifiReceiver: BroadcastReceiver
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
wifiReceiver = object : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
val wifiState = intent?.getIntExtra(WifiManager.EXTRA_WIFI_STATE, WifiManager.WIFI_STATE_UNKNOWN)
val status = if (wifiState == WifiManager.WIFI_STATE_ENABLED) "Wi-Fi ON" else "Wi-Fi OFF"
Toast.makeText(context, status, Toast.LENGTH_SHORT).show()
}
}
}
override fun onResume() {
super.onResume()
registerReceiver(wifiReceiver, IntentFilter(WifiManager.WIFI_STATE_CHANGED_ACTION))
}
override fun onPause() {
super.onPause()
unregisterReceiver(wifiReceiver)
}
}
đ ⚠️ āĻĄাā§āύাāĻŽিāĻ āĻŦ্āϰāĻĄāĻাāϏ্āĻ āϰিāϏিāĻাāϰ āĻļুāϧুāĻŽাāϤ্āϰ āĻ ্āϝাāĻĒ āĻাāϞু āĻĨাāĻāϞে āĻাāĻ āĻāϰāĻŦে।
đ BroadcastReceiver āĻāĻŦে āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰāĻŦেāύ āĻāϰ āĻāĻŦে āύā§?
| đ āĻাāĻ | ✅ BroadcastReceiver āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰুāύ |
❌ BroadcastReceiver āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰāĻŦেāύ āύা |
|---|---|---|
| āϏিāϏ্āĻেāĻŽ āĻāĻেāύ্āĻ āĻļুāύāϤে | Wi-Fi, Bluetooth, Battery, Boot, Airplane Mode | āύা |
| FCM āĻĒুāĻļ āύোāĻিāĻĢিāĻেāĻļāύ āĻĒেāϤে | Firebase Cloud Messaging (FCM) | āύা |
| āĻŦ্āϝাāĻāĻ্āϰাāĻāύ্āĻĄে āĻোāύো āĻāĻেāύ্āĻ āĻ্āϰিāĻাāϰ āĻāϰāϤে | āĻ ্āϝাāĻĒ āϰিāϏ্āĻাāϰ্āĻ, NFC āϏ্āĻ্āϝাāĻাāϏ āĻĒāϰিāĻŦāϰ্āϤāύ | āύা |
| āĻāĻāĻাāϰ āĻāύ্āĻাāϰāĻ ্āϝাāĻāĻļāύ āĻিāϤ্āϤিāĻ āĻāĻেāύ্āĻ āĻš্āϝাāύ্āĻĄāϞ āĻāϰāϤে | āύা | LiveData, ViewModel āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰুāύ |
✅ BroadcastReceiver āĻোāĻĨাā§ āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰা āĻ িāĻ āύā§?
❌ āϝāĻĻি āĻļুāϧুāĻŽাāϤ্āϰ UI āĻāĻĒāĻĄেāĻেāϰ āĻāύ্āϝ āĻāĻেāύ্āĻ āĻĻāϰāĻাāϰ āĻšā§, āϤাāĻšāϞে ViewModel + LiveData āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰুāύ।
❌ āϝāĻĻি āĻšাāĻ-āĻĢ্āϰিāĻোā§েāύ্āϏি āĻāĻেāύ্āĻ (āϝেāĻŽāύ āϏেāύ্āϏāϰ āĻĄাāĻা) āĻ্āϰ্āϝাāĻ āĻāϰāϤে āĻাāύ, āϤাāĻšāϞে WorkManager āĻŦা Foreground Service āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰুāύ।
đ¯ āĻļেāώ āĻāĻĨা:
đ āϏিāϏ্āĻেāĻŽ āĻŦা āĻ
āύ্āϝ āĻ
্āϝাāĻĒ āĻĨেāĻে āĻĒাāĻ াāύো āĻāĻেāύ্āĻ āĻļুāύāϤে BroadcastReceiver āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰা āĻšā§।
✅ āϏ্āĻ্āϝাāĻিāĻ āĻŦ্āϰāĻĄāĻাāϏ্āĻ āϰিāϏিāĻাāϰ āĻŦ্āϝাāĻāĻ্āϰাāĻāύ্āĻĄেāĻ āĻাāĻ āĻāϰে।
✅ āĻĄাā§āύাāĻŽিāĻ āĻŦ্āϰāĻĄāĻাāϏ্āĻ āϰিāϏিāĻাāϰ āĻ
্āϝাāĻĒ āĻাāϞু āĻĨাāĻāϞে āĻাāĻ āĻāϰে।
đĄ āĻĒাāϰāĻĢāϰāĻŽ্āϝাāύ্āϏ āĻ
āĻĒāĻিāĻŽাāĻāĻ āĻāϰāϤে āĻļুāϧুāĻŽাāϤ্āϰ āĻĒ্āϰā§োāĻāύীā§ āĻ্āώেāϤ্āϰেāĻ BroadcastReceiver āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰুāύ।
Comments
Post a Comment