© Khmer Angkor Academy - sophearithput168

BroadcastReceiver

BroadcastReceiver អ្វីជា?

BroadcastReceiver គឺជា component ដែលតម្លើង (listen) សម្រាប់ broadcast messages (events) ពី system ឬ applications ផ្សេង។

📡 Broadcast Types

Type ពិពណ៌នា
System Broadcasts ពី Android system (Battery low, Network changed, Boot completed)
Custom Broadcasts ពី app របស់អ្នក

📱 Common System Broadcasts

  • 🔋 ACTION_BATTERY_LOW - Battery ជិតអស់
  • 🔌 ACTION_POWER_CONNECTED - ដោតថ្ម
  • 📶 CONNECTIVITY_CHANGE - Network ផ្លាស់ប្តូរ
  • ✈️ ACTION_AIRPLANE_MODE_CHANGED - Airplane mode ផ្លាស់ប្តូរ
  • 🔄 ACTION_BOOT_COMPLETED - ទូរសព្ទចាប់ផ្តើមរួច
  • 📞 ACTION_NEW_OUTGOING_CALL - ចាប់ផ្តើមហៅ
  • 📱 ACTION_SCREEN_ON/OFF - អេក្រង់បើក/បិទ

💻 បង្កើត BroadcastReceiver

Java Code
Click "Run" to execute the Java code

📋 Register Receiver (2 វិធី)

1️⃣ Static Registration (នៅក្នុង Manifest)

Java Code
Click "Run" to execute the Java code

2️⃣ Dynamic Registration (នៅក្នុង Code)

Java Code
Click "Run" to execute the Java code

📤 ផ្ញើ Custom Broadcast

Java Code
Click "Run" to execute the Java code

🎯 Local Broadcast (ក្នុង App តែមួយ)

Java Code
Click "Run" to execute the Java code

⚠️ Important Notes

⚠️ Android 8.0+: Static registration មិនដំណើរការសម្រាប់ broadcasts ភាគច្រើនទេ។ ប្រើ dynamic registration!

✅ Best Practices

  1. Unregister receivers នៅពេល Activity/Service បញ្ចប់
  2. មិនត្រូវធ្វើ long operations នៅក្នុង onReceive() (max 10 វិនាទី)
  3. ប្រើ JobScheduler ឬ WorkManager សម្រាប់ background work
  4. ប្រើ LocalBroadcastManager សម្រាប់ internal app communication