Vous pouvez spécifier un autre PendingIntent qui est appelé lorsqu'une notification est sélectionné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 connectées à l'IA, une activité spécifique aux lunettes se lance sur celles-ci.
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 apparence 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());