diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index d85d4d50..17e99dec 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -3,6 +3,7 @@
xmlns:tools="http://schemas.android.com/tools">
+
= Build.VERSION_CODES.TIRAMISU) {
+ val notificationPermission = rememberPermissionState(permission = Manifest.permission.POST_NOTIFICATIONS)
+ LaunchedEffect(Unit) {
+ when {
+ notificationPermission.status.isGranted -> return@LaunchedEffect // 권한 이미 허용됨
+ notificationPermission.status.shouldShowRationale -> context.openSetting() // 권한 거부 시 설정 창
+ else -> notificationPermission.launchPermissionRequest() // 권한 요청
+ }
+ }
+ }
viewModel.collectSideEffect { event ->
when (event) {
@@ -33,4 +59,11 @@ fun SplashRoute(
}
@Composable
-fun SplashScreen() { /** todo: 추후 구현 */ }
\ No newline at end of file
+fun SplashScreen() { /** todo: 추후 구현 */ }
+
+private fun Context.openSetting() {
+ val intent = Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS).apply {
+ data = Uri.fromParts("package", this@openSetting.packageName, null)
+ }
+ this.startActivity(intent)
+}
\ No newline at end of file
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index 5c6c8641..4e5bb83b 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -45,6 +45,8 @@ stabilityAnalyzer = "0.7.2"
haze = "1.7.2"
+accompanist = "0.37.3"
+
[libraries]
android-gradlePlugin = { group = "com.android.tools.build", name = "gradle", version.ref = "androidGradlePlugin" }
kotlin-gradlePlugin = { group = "org.jetbrains.kotlin", name = "kotlin-gradle-plugin", version.ref = "kotlin" }
@@ -104,6 +106,8 @@ material = { group = "com.google.android.material", name = "material", version.r
haze = { group = "dev.chrisbanes.haze", name = "haze", version.ref = "haze" }
+accompanist-permissions = { group = "com.google.accompanist", name = "accompanist-permissions", version.ref = "accompanist" }
+
[plugins]
android-application = { id = "com.android.application", version.ref = "androidGradlePlugin" }
android-library = { id = "com.android.library", version.ref = "androidGradlePlugin" }