앱이 특정 상황에서 급하게 사용자의 주의를 환기해야 할 수 있습니다. 알림을 받을 수 있습니다. 다음을 실행하는 기기를 타겟팅하는 앱 Android 9 (API 수준 28) 이하에서는 액티비티의 질을 높이는 것입니다. 이 문서에서는 Android 10(API 수준 29)~Android 13(API 수준 33)을 실행하는 기기에서 이 동작을 실행하는 방법을 보여줍니다.
POST_NOTIFICATIONS 권한 추가
Android 13부터 다음 줄을
AndroidManifest.xml
파일:
<manifest ...> <uses-permission android:name="android.permission.POST_NOTIFICATIONS"/> <application ...> ... </application> </manifest>
이 작업을 완료하면 알림 채널을 만들 수 있습니다.
알림 채널 만들기
알림 채널을 만들어 알림을 적절히 표시하고 사용자는 앱 설정에서 알림을 관리할 수 있습니다. 자세한 내용은 알림 채널에 대한 자세한 내용은 알림 만들기 및 관리 채널을 참고하세요.
Application
클래스의 onCreate
메서드에서 알림 채널을 만듭니다.
Kotlin
class DACapp : Application() { override fun onCreate() { super.onCreate() val channel = NotificationChannel( CHANNEL_ID, "High priority notifications", NotificationManager.IMPORTANCE_HIGH ) val notificationManager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager notificationManager.createNotificationChannel(channel) } }
사용자가 앱을 처음으로 실행하면 그림 1과 같은 내용이 표시됩니다. 앱의 앱 정보 시스템 화면에서 확인할 수 있습니다.
알림 권한 관리
Android 13부터 다음 날짜 이전에 알림 권한 요청 사용자에게 알림을 표시합니다.
최소 구현은 다음과 같습니다.
Kotlin
val permissionLauncher = rememberLauncherForActivityResult( contract = ActivityResultContracts.RequestPermission(), onResult = { hasNotificationPermission = it } ) ... Button( onClick = { if (!hasNotificationPermission) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { permissionLauncher.launch(Manifest.permission.POST_NOTIFICATIONS) } } }, ) { Text(text = "Request permission") }
기기에서 Android 13을 실행하는 경우 Request
permission
버튼을 탭하면 그림 2와 같은 대화상자가 트리거됩니다.
사용자가 권한 요청을 수락하면 앱의 앱 정보 섹션이 표시됩니다. 다음과 같습니다.
우선순위가 높은 알림 만들기
알림을 만들 때 구체적인 제목과 메시지를 포함하세요.
다음 예에는 알림이 포함되어 있습니다.
Kotlin
private fun showNotification() { val notificationManager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager val notificationBuilder = NotificationCompat.Builder(this, CHANNEL_ID) .setSmallIcon(R.drawable.baseline_auto_awesome_24) .setContentTitle("HIGH PRIORITY") .setContentText("Check this dog puppy video NOW!") .setPriority(NotificationCompat.PRIORITY_HIGH) .setCategory(NotificationCompat.CATEGORY_RECOMMENDATION) notificationManager.notify(666, notificationBuilder.build()) }
사용자에게 알림 표시
showNotification()
함수를 호출하면 다음과 같이 알림이 트리거됩니다.
Kotlin
Button(onClick = { showNotification() }) { Text(text = "Show notification") }
이 예시의 알림은 그림 4와 같습니다.
진행 중인 알림
사용자에게 알림을 표시하면 사용자가 확인하거나 닫을 수 있습니다. 알림을 받아볼 수 있습니다. 예를 들어 사용자는 수신 전화
수신 전화와 같이 알림이 진행 중인 알림인 경우 알림을 포그라운드 서비스를 사용합니다. 다음 코드 스니펫 는 포그라운드 서비스와 관련된 알림을 표시하는 방법을 보여줍니다.
Kotlin
// Provide a unique integer for the "notificationId" of each notification. startForeground(notificationId, notification)
Java
// Provide a unique integer for the "notificationId" of each notification. startForeground(notificationId, notification);