NotificationManagerCompat.from(context).areNotificationsEnabled()
// true : On / false : Off
앱알림 상태가 false일 때 아래와 같은 문제가 발생합니다.
val intent = when {
Build.VERSION.SDK_INT >= Build.VERSION_CODES.O -> {
Intent().apply {
action = Settings.ACTION_APP_NOTIFICATION_SETTINGS
putExtra(Settings.EXTRA_APP_PACKAGE, packageName)
}
}
Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP -> {
Intent().apply {
action = "android.settings.APP_NOTIFICATION_SETTINGS"
putExtra("app_package", packageName)
putExtra("app_uid", applicationInfo?.uid)
}
}
else -> {
Intent().apply {
action = Settings.ACTION_APPLICATION_DETAILS_SETTINGS
addCategory(Intent.CATEGORY_DEFAULT)
data = Uri.parse("package:$packageName")
}
}
}
startActivity(intent)
아래내용에 따라서 버전별 대처가 필요합니다.
시스템 앱알림 Off 상태일 때, Toast 노출 여부
- 안드로이드 10미만 버전에서 Toast 비노출
- 안드로이드 10이상 버전에서 Toast 노출
Toast는 안드로이드 11버전부터 Custom이 불가하기 때문에 위의 해결법과 같은 대처가 필요합니다.
안드로이드 11버전 이슈사항