안드로이드 공식 문서
https://developer.android.com/guide/topics/ui/notifiers/notifications?hl=ko
알림 개요 | Android 개발자 | Android Developers
알림 개요 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 알림은 사용자에게 미리 알림을 주고 다른 사람과의 소통을 가능하게 하며 앱에서 보내는 기타 정
developer.android.com
개인 프로젝트를 진행하던 도중 백그라운드에서 위치를 받아 일정 위치에 도달하면 푸쉬 알림이 오도록 구현하였는데,
이때 사용한 방법을 잊지 않기 위해 기록해둔다.
해당 방법은 간단한 방법이지만, 우리가 흔히 사용하는 앱들은 앱이 종료되어 있는 상태에서 푸쉬 알림이 온다.
Immortal Service , 죽지 않는 서비스라 한다.
따라서 해당 포스팅에서는 간단한 푸쉬 알림에 대해 작성하였고, Immortal Service는 나중에 공부한 후 작성할 예정..
사용 방법
1. Channel Create
private val CHANNEL_ID = "CHANNEL_ID"
private val CHANNEL_NAME = "CHANNEL_NAME"
private val CHANNEL_DESCRITION = "CHANNEL_DESCRITION"
fun createChannel() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
val importance = NotificationManager.IMPORTANCE_HIGH
val channel = NotificationChannel(CHANNEL_ID, CHANNEL_NAME, importance).apply {
description = CHANNEL_DESCRITION
}
val notificationManager: NotificationManager =
getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
notificationManager.createNotificationChannel(channel)
}
}
2. Build
fun build(context:Context, title:String, content:String, summary:String){
val style = NotificationCompat.BigTextStyle()
.setBigContentTitle(title)
.setSummaryText(summary)
.bigText(content)
val builder = NotificationCompat.Builder(context, CHANNEL_ID)
.setSmallIcon(R.mipmap.ic_launcher)
.setContentTitle(title)
.setContentText(content)
.setStyle(style)
.setAutoCancel(false)
.setShowWhen(true)
.setColor(ContextCompat.getColor(context, R.color.purple_200))
.setPriority(NotificationCompat.PRIORITY_DEFAULT)
}
3. Run
NotificationManagerCompat.from(context).notify(1, builder.build())
'안드로이드 > 안드로이드' 카테고리의 다른 글
[안드로이드] 백그라운드에서 위치 데이터 지속적으로 얻기 (0) | 2023.11.26 |
---|---|
[안드로이드] Api Key 저장 방법 with local.properties (0) | 2023.11.25 |
[안드로이드] AlertDialog (0) | 2023.11.22 |
[Kakao Api] 키 해시 생성 및 플랫폼 등록 (0) | 2023.11.04 |
[안드로이드] Viewbinding (0) | 2023.11.03 |