Vous pouvez spécifier un autre PendingIntent qui est appelé lorsqu'une notification est appuyée sur l'écran des lunettes. Ce PendingIntent est différent de l'ensemble d'intentions par défaut défini pour le téléphone à l'aide de setContentIntent. Par exemple, lorsque l'utilisateur appuie sur la notification sur les lunettes, une activité spécifique aux lunettes se lance sur les lunettes.
Pour ajouter des comportements spécifiques aux lunettes, utilisez ProjectedExtender. Cette API vous permet de personnaliser le comportement des notifications sur les lunettes sans affecter leur affichage sur le téléphone.
Kotlin
// Intent to fire when tapped on the phone
val phoneIntent = Intent(this, MyPhoneActivity::class.java)
val phonePendingIntent = PendingIntent.getActivity(
this, 0, phoneIntent, PendingIntent.FLAG_IMMUTABLE
)
// Intent to fire when tapped on the glasses display
val glassesIntent = Intent(this, MyGlassesActivity::class.java)
val glassesPendingIntent = PendingIntent.getActivity(
this, 1, glassesIntent, PendingIntent.FLAG_IMMUTABLE
)
// Create the base notification
val builder = NotificationCompat.Builder(this, CHANNEL_ID).apply {
setSmallIcon(R.drawable.ic_notification)
setContentTitle("Navigation in Progress")
setContentText("Tap to see details")
// Default intent for phone
setContentIntent(phonePendingIntent)
// Create and apply the glasses extender
val projectedExtender = ProjectedExtender().setContentIntent(glassesPendingIntent)
extend(projectedExtender)
}
// Issue the notification
notificationManager.notify(NOTIFICATION_ID, builder.build())
Java
// Intent to fire when tapped on the phone
Intent phoneIntent = new Intent(this, MyPhoneActivity.class);
PendingIntent phonePendingIntent =
PendingIntent.getActivity(this, 0, phoneIntent, PendingIntent.FLAG_IMMUTABLE);
// Intent to fire when tapped on the glasses display
Intent glassesIntent = new Intent(this, MyGlassesActivity.class);
PendingIntent glassesPendingIntent =
PendingIntent.getActivity(this, 1, glassesIntent, PendingIntent.FLAG_IMMUTABLE);
// Create the base notification
NotificationCompat.Builder builder = new NotificationCompat.Builder(this, CHANNEL_ID)
.setSmallIcon(R.drawable.ic_notification)
.setContentTitle("New Update")
.setContentText("Something important happened.")
// Default intent for phone
.setContentIntent(phonePendingIntent);
// Create and apply the Glasses extender
ProjectedExtender projectedExtender = new ProjectedExtender()
// glasses-specific intent
.setContentIntent(glassesPendingIntent);
builder.extend(projectedExtender);
// Issue the notification
notificationManager.notify(NOTIFICATION_ID, builder.build());