Uygulamanızın, devam eden bir alarm veya gelen arama gibi belirli durumlarda kullanıcının dikkatini acil olarak çekmesi gerekebilir. Android 9 (API düzeyi 28) veya önceki sürümleri çalıştıran cihazları hedefleyen uygulamalarda, uygulama arka plandayken bir etkinlik başlatarak bu sorunu çözebilirsiniz. Bu belgede, Android 10 (API düzeyi 29) ile Android 13 (API düzeyi 33) arasındaki sürümleri çalıştıran cihazlarda bu davranışın nasıl sağlanacağı gösterilmektedir.
POST_STATES iznini ekleyin
Android 13'ten itibaren AndroidManifest.xml
dosyanıza aşağıdaki satırı ekleyin:
<manifest ...> <uses-permission android:name="android.permission.POST_NOTIFICATIONS"/> <application ...> ... </application> </manifest>
Bu işlemi tamamladıktan sonra bildirim kanalı oluşturabilirsiniz.
Bildirim kanalı oluşturma
Bildirimlerinizi düzgün bir şekilde görüntülemek için bir bildirim kanalı oluşturun ve kullanıcı, bildirimleri uygulama ayarlarından yönetebilir. Daha fazla bilgi için bildirim kanalları için Bildirim oluşturma ve yönetme kanalları görebilirsiniz.
Bildirim kanallarınızı, Application
sınıfınızda oluşturun
onCreate
yöntemi:
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) } }
Kullanıcı, uygulamanızı ilk kez çalıştırdığında şekil 1'e benzer bir şey görür. uygulamanızın Uygulama bilgileri sistem ekranında:

Bildirim izinlerini yönetme
Android 13'ten itibaren, kullanıcılara bildirim göstermeden önce bildirim izinleri isteyin.
Minimum uygulama aşağıdaki gibi görünür:
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") }
Cihazınız Android 13 çalıştırıyorsa Request
permission
düğmesine dokunduğunuzda, Şekil 2'de gösterilen iletişim kutusu tetiklenir:

Kullanıcı izin isteğini kabul ederse uygulamanın Uygulama bilgileri bölümü Şekil 3'teki gibi:

Yüksek öncelikli bildirim oluşturma
Bildirimi oluştururken açıklayıcı bir başlık ve mesaj ekleyin.
Aşağıdaki örnekte bir bildirim yer almaktadır:
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()) }
Bildirimi kullanıcıya gösterme
showNotification()
işlevi çağrıldığında bildirim aşağıdaki şekilde tetiklenir:
Kotlin
Button(onClick = { showNotification() }) { Text(text = "Show notification") }
Bu örnekteki bildirim 4. resme benzer:

Devam eden bildirim
Bildiriminizi kullanıcıya gösterdiğinizde kullanıcı, uygulamanızın uyarısını veya hatırlatıcısını kabul edebilir ya da reddedebilir. Örneğin, kullanıcı bir gelen telefon araması.
Bildiriminiz devam eden bir bildirimse (ör. gelen telefon araması) bildirimi bir ön plan hizmetiyle ilişkilendirin. Aşağıdaki kod snippet'inde, ön plan hizmetiyle ilişkili bir bildirimin nasıl görüntüleneceği gösterilmektedir:
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);