Devam eden bir alarm veya gelen arama gibi belirli durumlarda uygulamanızın kullanıcının dikkatini acilen ç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 halledebilirsiniz. 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 gerçekleştirileceği gösterilmektedir.
POST_NOTIFICATIONS iznini ekle
Android 13'ten başlayarak AndroidManifest.xml
dosyanıza aşağıdaki satırı ekleyin:
<manifest ...> <uses-permission android:name="android.permission.POST_NOTIFICATIONS"/> <application ...> ... </application> </manifest>
Bunu elde ettikten sonra bir 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ının, bildirimleri uygulama ayarlarında yönetmesine izin verin. Bildirim kanalları hakkında daha fazla bilgi için Bildirim kanalları oluşturma ve yönetme konusuna bakın.
Bildirim kanallarınızı Application
sınıfınızın onCreate
yöntemiyle oluşturun:
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 uygulamanızın Uygulama bilgileri sistem ekranında şekil 1'e benzer bir şey görür:
![Uygulamanızın Uygulama Bilgileri, Bildirim ekranını gösteren resim.](https://developer.android.com/static/images/ui/notifications/time-sensitive_notification_channel_empty.png?authuser=6&hl=tr)
Bildirim izinlerini yönet
Android 13'ten itibaren, kullanıcılara bildirim göstermeden önce bildirim izinleri isteyin.
Minimum uygulama şekli şöyledir:
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:
![İzin isteği iletişim kutusunu gösteren resim](https://developer.android.com/static/images/ui/notifications/time-sensitive_notification_permission_request_dialog.png?authuser=6&hl=tr)
Kullanıcı izin isteğini kabul ederse uygulamanın Uygulama bilgileri bölümü şekil 3'teki gibi görünür:
![Bildirim izni isteği gönderildikten sonra Uygulama Bilgileri ekranını gösteren resim](https://developer.android.com/static/images/ui/notifications/time-sensitive_notification_permission_granted.png?authuser=6&hl=tr)
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 bulunmaktadı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()) }
Kullanıcıya bildirimi göster
showNotification()
işlevi çağrıldığında, bildirim şu şekilde tetiklenir:
Kotlin
Button(onClick = { showNotification() }) { Text(text = "Show notification") }
Bu örnekteki bildirim şekil 4'e benzer:
![Yüksek öncelikli bildirimi gösteren bir resim](https://developer.android.com/static/images/ui/notifications/time-sensitive_notification.png?authuser=6&hl=tr)
Devam eden bildirim
Bildiriminizi kullanıcıya gösterdiğinizde, kullanıcı, uygulamanızın uyarısını veya hatırlatıcısını onaylayabilir ya da kapatabilir. Örneğin, kullanıcı gelen bir telefon aramasını kabul edebilir veya reddedebilir.
Bildiriminiz, gelen telefon araması gibi devam eden bir bildirimse bu bildirimi bir ön plan hizmetiyle ilişkilendirin. Aşağıdaki kod snippet'inde, bir ön plan hizmetiyle ilişkilendirilmiş 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);