This depends on the following CL that makes this all work with template changes: I848f442b3bc66ee2fb87db8200df370d13762d29 Change-Id: I6b17db774de6fa8be0bf944516a44ba73b10cabb
73 lines
3.5 KiB
Plaintext
73 lines
3.5 KiB
Plaintext
page.title=Stacking Notifications
|
|
|
|
@jd:body
|
|
|
|
<img src="{@docRoot}wear/images/11_bundles_B.png" height="200" width="169" style="float:right;margin:0 0 20px 40px" />
|
|
<img src="{@docRoot}wear/images/11_bundles_A.png" height="200" width="169" style="float:right;margin:0 0 20px 40px" />
|
|
|
|
<p>When creating notifications for a handheld device, you should always aggregate similar
|
|
notifications into a single summary notification. For example, if your app creates notifications
|
|
for received messages, you should not show more than one notification
|
|
on a handheld device—when more than one is message is received, use a single notification
|
|
to provide a summary such as "2 new messages."</p>
|
|
|
|
<p>However, a summary notification is less useful on an Android wearable because users
|
|
are not able to read details from each message on the wearable (they must open your app on the
|
|
handheld to view more information). So for the wearable device, you should
|
|
group all the notifications together in a stack. The stack of notifications appears as a single
|
|
card, which users can expand to view the details from each notification separately. The new
|
|
<a href="{@docRoot}reference/android/preview/support/wearable/notifications/WearableNotifications.Builder.html#setGroup(java.lang.String, int)">
|
|
<code>setGroup()</code></a> method makes this possible while allowing you to still provide
|
|
only one summary notification on the handheld device.</p>
|
|
|
|
<p>For details about designing notification stacks, see the
|
|
<a href="{@docRoot}wear/design/index.html#NotificationStacks">Design Principles of Android
|
|
Wear</a>.</p>
|
|
|
|
|
|
<h2 id="AddGroup">Add Each Notification to a Group</h2>
|
|
|
|
<p>To create a stack, call <a
|
|
href="{@docRoot}reference/android/preview/support/wearable/notifications/WearableNotifications.Builder.html#setGroup(java.lang.String, int)">
|
|
<code>setGroup()</code></a> for each notification you want in the stack, passing the same
|
|
group key. For example:</p>
|
|
|
|
<pre style="clear:right">
|
|
final static String GROUP_KEY_EMAILS = "group_key_emails";
|
|
|
|
NotificationCompat.Builder builder = new NotificationCompat.Builder(mContext)
|
|
.setContentTitle("New mail from " + sender)
|
|
.setContentText(subject)
|
|
.setSmallIcon(R.drawable.new_mail);
|
|
|
|
Notification notif = new WearableNotifications.Builder(builder)
|
|
.setGroup(GROUP_KEY_EMAILS)
|
|
.build();
|
|
</pre>
|
|
|
|
<p>By default, notifications appear in the order in which you added them, with the most recent
|
|
notification visible at the top. You can define a specific position in the group
|
|
by passing an order position as the second parameter for <a
|
|
href="{@docRoot}reference/android/preview/support/wearable/notifications/WearableNotifications.Builder.html#setGroup(java.lang.String, int)">
|
|
<code>setGroup()</code></a>.</p>
|
|
|
|
|
|
<h2 id="AddSummary">Add a Summary Notification</h2>
|
|
|
|
<p>It's important that you still provide a summary notification that appears on handheld devices.
|
|
So in addition to adding each unique notification to the same stack group, also add a summary
|
|
notification, but set its order position to be <a
|
|
href="{@docRoot}reference/android/preview/support/wearable/notifications/WearableNotifications.html#GROUP_ORDER_SUMMARY"><code>GROUP_ORDER_SUMMARY</code></a>.</p>
|
|
|
|
<pre>
|
|
Notification summaryNotification = new WearableNotifications.Builder(builder)
|
|
.setGroup(GROUP_KEY_EMAILS, WearableNotifications.GROUP_ORDER_SUMMARY)
|
|
.build();
|
|
</pre>
|
|
|
|
<p>This notification will not appear in your stack of notifications on the wearable, but
|
|
appears as the only notification on the handheld device.
|
|
|
|
</body>
|
|
</html>
|