안드로이드 공식 문서
https://developer.android.com/guide/topics/ui/notifiers/notifications?hl=ko
개인 프로젝트를 진행하던 도중 백그라운드에서 위치를 받아 일정 위치에 도달하면 푸쉬 알림이 오도록 구현하였는데,
이때 사용한 방법을 잊지 않기 위해 기록해둔다.
해당 방법은 간단한 방법이지만, 우리가 흔히 사용하는 앱들은 앱이 종료되어 있는 상태에서 푸쉬 알림이 온다.
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())
'안드로이드 > 안드로이드' 카테고리의 다른 글
[안드로이드] 백그라운드에서 위치 데이터 지속적으로 얻기 (1) | 2023.11.26 |
---|---|
[안드로이드] Api Key 저장 방법 with local.properties (1) | 2023.11.25 |
[안드로이드] AlertDialog (0) | 2023.11.22 |
[Kakao Api] 키 해시 생성 및 플랫폼 등록 (1) | 2023.11.04 |
[안드로이드] Viewbinding (0) | 2023.11.03 |