您可以指定在眼鏡螢幕上輕觸通知時叫用的其他 PendingIntent。這與使用 setContentIntent 為手機設定的預設意圖不同。PendingIntent舉例來說,當使用者輕觸智慧眼鏡上的通知時,智慧眼鏡會啟動特定活動。
如要新增眼鏡專屬行為,請使用 ProjectedExtender。透過這個 API,您可以在眼鏡上自訂通知行為,而不影響通知在手機上的顯示方式。
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());