반응형
앱 알림 설정이 on/off 확인 코드
NotificationManagerCompat.from(context).areNotificationsEnabled();
앱 알림 설정 bordcastReceiver
<receiver
android:name=".BlockStateChangedReceiver"
android:enabled="true"
android:exported="true"
>
<intent-filter>
<action android:name="android.app.action.APP_BLOCK_STATE_CHANGED" />
<action android:name="android.app.action.NOTIFICATION_CHANNEL_BLOCK_STATE_CHANGED" />
<action android:name="android.app.action.NOTIFICATION_CHANNEL_GROUP_BLOCK_STATE_CHANGED" />
</intent-filter>
</receiver>
class BlockStateChangedReceiver : BroadcastReceiver() {
override fun onReceive(context: Context, intent: Intent) {
val blockedState = intent.getBooleanExtra(NotificationManager.EXTRA_BLOCKED_STATE, false)
when (intent.action) {
NotificationManager.ACTION_APP_BLOCK_STATE_CHANGED -> {
// すべての通知の有効無効が変化した
// 앱 알림 설정 on/off 변경시 수신됨.
}
NotificationManager.ACTION_NOTIFICATION_CHANNEL_GROUP_BLOCK_STATE_CHANGED -> {
val groupId = intent.getStringExtra(NotificationManager.EXTRA_NOTIFICATION_CHANNEL_GROUP_ID)
// groupIdのチャンネルグループの有効無効が変化した
}
NotificationManager.ACTION_NOTIFICATION_CHANNEL_BLOCK_STATE_CHANGED -> {
val channelId = intent.getStringExtra(NotificationManager.EXTRA_NOTIFICATION_CHANNEL_ID)
// channleIdのチャンネルの有効無効が変化した
}
}
}
}
참고자료:
반응형
'안드로이드' 카테고리의 다른 글
[안드로이드] WebView uri scheme 마켓 이동 (0) | 2022.12.06 |
---|---|
[안드로이드] shortcut의 구현 (0) | 2022.08.31 |
[안드로이드] 앱(패키지) 설치 유무 확인 (0) | 2022.04.15 |
[android] 위치 정보 서비스 GPS/Network LocationTracker (Kotlin) (0) | 2021.11.25 |
[Android] EdtitText 필터 적용, 이모지 및 특수문자 입력 차단 (0) | 2021.11.23 |