Programing/Spring Boot

안드로이드 notification 뱃지 제거하기, 카운트 수정하기

딩코딩 2023. 11. 25. 11:59

기기홈 noti는 푸시를 받았을때 뱃지 카운트를 달 수 있다.

이 뱃지 카운트를 수정하고 싶을때는

//수정하고 싶은 숫자를 넣고 호출 0은 안된다 noti를 제거해야함
private fun updateHomeBadgeCount(badgeCount:Int) {
    Intent("android.intent.action.BADGE_COUNT_UPDATE")
        .putExtra("badge_count", badgeCount)
        .putExtra("badge_count_package_name", packageName)
        .putExtra("badge_count_class_name", getLauncherClassName(this))
        .run { sendBroadcast(this) }
}
private fun getLauncherClassName(context: Context): String? {
    val intent = Intent(Intent.ACTION_MAIN)
    intent.addCategory(Intent.CATEGORY_LAUNCHER)
    intent.setPackage(context.applicationContext.packageName)
    val resolveInfoList =
        context.applicationContext.packageManager.queryIntentActivities(intent, 0)
    return if (resolveInfoList != null && resolveInfoList.size > 0) {
        resolveInfoList[0].activityInfo.name
    } else ""
}

 

뱃지 카운트를 제거 하고 싶을때는 아래 코드를 활용

private fun clearNotification() {
    val notificationManager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
    notificationManager.cancel(1); // cancel(알림 특정 id)//
    // 이전에 있던 모든 Notification 알림 제거
    notificationManager.cancelAll();
}