728x90
import android.app.NotificationChannel
import android.app.NotificationManager
import android.content.Context
import android.os.Build
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import androidx.core.app.NotificationCompat
class MainActivity : AppCompatActivity() {
private val channelID = "com.anushka.notificationdemo.channel1"
private var notificationManager: NotificationManager? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val button = findViewById<Button>(R.id.button)
notificationManager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
createNotificationChannel(channelID,"DemoChannel","this is a demo")
button.setOnClickListener {
displayNotification()
}
}
private fun displayNotification(){
val notificationId = 45
val notification = NotificationCompat.Builder(this@MainActivity,channelID)
.setContentTitle("Demo Title")
.setContentText("This is a demo notification")
.setSmallIcon(android.R.drawable.ic_dialog_info)
.setAutoCancel(true)
.setPriority(NotificationCompat.PRIORITY_DEFAULT)
.build()
notificationManager?.notify(notificationId,notification)
}
private fun createNotificationChannel(id : String, name:String, channelDescription:String){
if(Build.VERSION.SDK_INT>= Build.VERSION_CODES.O){
val importance = NotificationManager.IMPORTANCE_HIGH
val channel = NotificationChannel(id,name,importance).apply {
description = channelDescription
}
notificationManager?.createNotificationChannel(channel)
}
}
}
728x90
'안드로이드 > Notification' 카테고리의 다른 글
안드로이드 Notification Reply Action (0) | 2022.11.28 |
---|---|
안드로이드 Notification Action Button (0) | 2022.11.28 |
안드로이드 Notification Tap Action (0) | 2022.11.28 |