Eylemler ve Derin Bağlantılar
Düğmeler ekleyin ve doğru ekranı açın.
Eylemler ve Derin Bağlantılar, CoddyKit'te ücretsiz bir Android Academy dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Android Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Android Academy kursu toplamda 4 dersten oluşur.
Eylemler ve Derin Bağlantılar
Bildirimler bir işlem yaptıklarında kullanışlı hâle gelir. Bir bildirime dokunulduğunda doğru ekran açılmalı, eylem düğmeleri de hızlı görevleri gerçekleştirmelidir. Her ikisi de PendingIntent kullanır.
PendingIntent Nedir
PendingIntent, sisteme verdiğiniz ve sistemin daha sonra, uygulamanız çalışmıyor olsa bile sizin adınıza bir Intent yürütmesini sağlayan bir belirteçtir. Bildirimler bunu etkinliğinizi başlatmak için kullanır.
İçerik PendingIntent'i Oluşturma
Açılacak ekran için bir Intent oluşturun, bunu bir PendingIntent içine sarın ve bir dokunuşun bu ekranı açması için setContentIntent ile bağlayın.
val intent = Intent(context, MainActivity::class.java)
val pending = PendingIntent.getActivity(
context, 0, intent,
PendingIntent.FLAG_IMMUTABLE
)
builder.setContentIntent(pending).setAutoCancel(true)Değiştirilebilirlik Bayrağı
Android 12'den itibaren bir PendingIntent, FLAG_IMMUTABLE veya FLAG_MUTABLE belirtmelidir. Sistemin veri doldurması gerekmediği sürece (bazı yanıtlar gibi) FLAG_IMMUTABLE kullanmayı tercih edin.
Eylem Düğmesi Ekleme
Bildirime dokunulabilir bir düğme eklemek için bir simge, etiket ve PendingIntent ile addAction kullanın; örneğin "Yanıtla" veya "Okundu olarak işaretle".
builder.addAction(
R.drawable.ic_reply,
"Reply",
replyPendingIntent
)Eylemler Bileşenleri Tetikler
Bir eylemin PendingIntent'i bir etkinliği, hizmeti veya BroadcastReceiver'ı hedefleyebilir. "Okundu olarak işaretle" düğmesi genellikle herhangi bir ekranı açmadan çalışabilmesi için bir alıcıyı hedefler.
val markIntent = Intent(context, MarkReadReceiver::class.java)
val markPending = PendingIntent.getBroadcast(
context, 0, markIntent, PendingIntent.FLAG_IMMUTABLE
)Bir Ekrana Derin Bağlantı
Derin bağlantı, yalnızca ana ekranı değil, uygulamanızın içindeki belirli bir hedefi açar. Navigation Compose ile tam bir rotaya ulaşan bir PendingIntent oluşturabilirsiniz.
Derin Bağlantı PendingIntent'i Oluşturma
Navigation bileşeni, bir hedefi ve bağımsız değişkenleri hedefleyen bir PendingIntent oluşturmak için NavDeepLinkBuilder (veya URI içeren bir derin bağlantı Intent'i) sunar.
val deepLinkPending = NavDeepLinkBuilder(context)
.setGraph(R.navigation.nav_graph)
.setDestination(R.id.chatScreen)
.setArguments(bundleOf("chatId" to "42"))
.createPendingIntent()URI Tabanlı Derin Bağlantılar
Gezinme grafiğinize bir URI kalıbı da kaydedebilir ve bu Uri ile bir Intent oluşturabilirsiniz. Kullanıcı bildirime dokunduğunda doğrudan eşleşen ekrana yönlendirilir.
val intent = Intent(
Intent.ACTION_VIEW,
"myapp://chat/42".toUri(),
context, MainActivity::class.java
)Geri Yığını Koruma
Derin bağlantılar için, Geri düğmesine basıldığında uygulamadan çıkmak yerine bir üst ekrana dönülecek mantıklı bir geri yığını olduğundan emin olun. TaskStackBuilder veya gezinmenin derin bağlantı oluşturucusu bunu yönetir.
Benzersiz İstek Kodları
Farklı birden fazla PendingIntent oluşturursanız her birine farklı bir istek kodu (ikinci bağımsız değişken) verin. Aynı koda sahip özdeş Intent'ler aynı PendingIntent olarak değerlendirilir.
Hızlı Kontrol
Eylemler ve derin bağlantılar konusundaki anlayışınızı sınayın.
Özet
Etkileşim eklediniz:
PendingIntent, sistemin sizin adınıza işlem yapmasını sağlar;FLAG_IMMUTABLEkullanınsetContentIntent, dokunma eylemini tanımlaraddAction, etkinlikleri, hizmetleri veya alıcıları hedefleyen düğmeler ekler- Derin bağlantılar, korunmuş bir geri yığınıyla tam ekranları açar
Sırada: bildirim çalışma zamanı izni.
Sıkça Sorulan Sorular
“Eylemler ve Derin Bağlantılar” dersi ücretsiz mi?
Evet — “Eylemler ve Derin Bağlantılar” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Android Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Android Academy kursu toplamda 4 dersten oluşur.
“Eylemler ve Derin Bağlantılar” dersinde ne öğreneceğim?
Düğmeler ekleyin ve doğru ekranı açın. Android Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Android Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Android Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.
“Eylemler ve Derin Bağlantılar” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Android Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Android Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Bildirim Kanalları
- Bildirim Oluşturma
- Eylemler ve Derin Bağlantılar
- Bildirimler için Çalışma Zamanı İzni