Junior — Middle
Můžete vysvětlit koncept PendingIntent a jak se používá v vývoji Android?
sobes.tech AI
Odpověď od AI
V Androidu je PendingIntent speciální objekt, který umožňuje jiným aplikacím nebo systémovým komponentám vykonat předem definovanou akci jménem vaší aplikace, i když vaše aplikace momentálně není aktivní.
Například chcete, aby po kliknutí na oznámení se otevřela určitá Activity vaší aplikace. K tomu se vytvoří PendingIntent, který obsahuje Intent pro spuštění této Activity. Systém nebo jiná komponenta pak tento PendingIntent použije k vykonání akce.
Příklad vytvoření PendingIntent pro oznámení:
val intent = Intent(context, MyActivity::class.java)
val pendingIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT)
val notification = NotificationCompat.Builder(context, CHANNEL_ID)
.setContentTitle("Nadpis")
.setContentText("Text oznámení")
.setContentIntent(pendingIntent) // zde předáváme PendingIntent
.setAutoCancel(true)
.build()
Tímto způsobem slouží PendingIntent jako "obal" kolem Intent, umožňující jiným procesům spouštět akce ve vaší aplikaci s potřebnými právy a ve správný čas.