Critical Alert & DND Override Engine (Android Audio)
High-priority emergency alerting engine engineered to bypass Android's Silent and Do Not Disturb (DND) modes for mission-critical notifications.
Why this was built
In emergency response, hospital incident paging, and critical security alerting, missed notifications can be catastrophic. When a user's phone is set to Silent or Do Not Disturb, standard mobile push notifications are silenced by default OS policies.
Technical Approach
Engineered a native Android system bridge using Kotlin platform channels. Implemented AudioManager stream routing to STREAM_ALARM, requested ACCESS_NOTIFICATION_POLICY to manage INTERRUPTION_FILTER states, and acquired AUDIOFOCUS_GAIN_TRANSIENT_EXCLUSIVE so critical alert tones sound with haptic vibration even when the handset is muted.
// Android Native Platform Channel: DND & Audio Stream Override
class AudioAlertService(private val context: Context) {
private val audioManager = context.getSystemService(Context.AUDIO_SERVICE) as AudioManager
private val notificationManager = context.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
fun triggerCriticalAlarm(soundUri: Uri) {
// 1. Verify and manage Do Not Disturb policy filter
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && notificationManager.isNotificationPolicyAccessGranted) {
notificationManager.setInterruptionFilter(NotificationManager.INTERRUPTION_FILTER_ALL)
}
// 2. Request transient exclusive audio focus on STREAM_ALARM
val audioAttributes = AudioAttributes.Builder()
.setUsage(AudioAttributes.USAGE_ALARM)
.setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION)
.build()
val focusRequest = AudioFocusRequest.Builder(AudioManager.AUDIOFOCUS_GAIN_TRANSIENT_EXCLUSIVE)
.setAudioAttributes(audioAttributes)
.build()
audioManager.requestAudioFocus(focusRequest)
// 3. Play sound at emergency volume level
val mediaPlayer = MediaPlayer().apply {
setAudioAttributes(audioAttributes)
setDataSource(context, soundUri)
prepare()
start()
}
}
}Key Architectural Features & Outcomes
Native Kotlin platform channel bridging Flutter to Android AudioManager
Do Not Disturb (DND) interruption filter policy management (ACCESS_NOTIFICATION_POLICY)
Transient exclusive audio focus acquisition (AUDIOFOCUS_GAIN_TRANSIENT_EXCLUSIVE)
Direct routing to STREAM_ALARM ensuring sound plays regardless of ringer state
Haptic vibration pattern synchronization for sensory fail-safes