diff options
| author | Robert Ly <robertly@google.com> | 2014-06-15 22:00:13 -0700 |
|---|---|---|
| committer | Robert Ly <robertly@google.com> | 2014-06-24 16:49:48 -0700 |
| commit | 2728c2a93abd74ef19e550f3530ee70ea41424b3 (patch) | |
| tree | 6ac225c907bea486cef5849af46508461b32018c /docs/html/wear/notifications/stacks.jd | |
| parent | 5f036fb80bac5da7578cefaecdb62457e0067368 (diff) | |
| download | frameworks_base-2728c2a93abd74ef19e550f3530ee70ea41424b3.zip frameworks_base-2728c2a93abd74ef19e550f3530ee70ea41424b3.tar.gz frameworks_base-2728c2a93abd74ef19e550f3530ee70ea41424b3.tar.bz2 | |
docs: wear training classes
Change-Id: I542b3bc87d3a24bf89ea9b7d8edeec224780f31b
Diffstat (limited to 'docs/html/wear/notifications/stacks.jd')
| -rw-r--r-- | docs/html/wear/notifications/stacks.jd | 138 |
1 files changed, 0 insertions, 138 deletions
diff --git a/docs/html/wear/notifications/stacks.jd b/docs/html/wear/notifications/stacks.jd deleted file mode 100644 index 3c3dc09..0000000 --- a/docs/html/wear/notifications/stacks.jd +++ /dev/null @@ -1,138 +0,0 @@ -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" alt="" /> -<img src="{@docRoot}wear/images/11_bundles_A.png" height="200" width="169" style="float:right;margin:0 0 20px 40px" alt="" /> - -<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/support/wearable/notifications/WearableNotificationOptions.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/support/wearable/notifications/WearableNotificationOptions.Builder.html#setGroup(java.lang.String, int)"> -<code>setGroup()</code></a> for each notification you want in the stack and specify a -group key. Then call <a href="{@docRoot}reference/android/support/wearable/app/NotificationManagerCompat.html#notify(int, android.app.Notification)"><code>notify()</code></a> to send it to the wearable.</p> - -<pre style="clear:right"> -final static String GROUP_KEY_EMAILS = "group_key_emails"; - -// Build the notification -NotificationCompat.Builder builder = new NotificationCompat.Builder(mContext) - .setContentTitle("New mail from " + sender1) - .setContentText(subject1) - .setSmallIcon(R.drawable.new_mail); - -// Set the group with WearableNotificationOptions.Builder and apply to the notification -Notification notif1 = new WearableNotificationOptions.Builder() - .setGroup(GROUP_KEY_EMAILS) - .build() - .applyTo(builder) - .build(); - -// Issue the notification -NotificationManagerCompat notificationManager = - NotificationManagerCompat.from(this); -notificationManager.notify(notificationId1, notif); -</pre> - -<p>Later on, when you create another notification, specify -the same group key. When you call -<a href="{@docRoot}reference/android/support/v4/app/NotificationManagerCompat.html#notify(int, android.app.Notification)"><code>notify()</code></a>, -this notification appears in the same stack as the previous notification, -instead of as a new card:</p> - -<pre style="clear:right"> -builder = new NotificationCompat.Builder(mContext) - .setContentTitle("New mail from " + sender2) - .setContentText(subject2) - .setSmallIcon(R.drawable.new_mail); - -// Use the same group as the previous notification -Notification notif2 = new WearableNotificationOptions.Builder() - .setGroup(GROUP_KEY_EMAILS) - .build() - .applyTo(builder) - .build(); - -notificationManager.notify(notificationId2, notif); -</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/support/wearable/notifications/WearableNotificationOptions.Builder.html#setGroup(java.lang.String, int)"> -<code>setGroup()</code></a>.</p> - - -<h2 id="AddSummary">Add a Summary Notification</h2> - -<img src="{@docRoot}wear/images/notif_summary_framed.png" height="242" width="330" style="float:right;margin:0 0 20px 40px" alt="" /> - -<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/support/wearable/notifications/WearableNotificationsOptions.html#GROUP_ORDER_SUMMARY"><code>GROUP_ORDER_SUMMARY</code></a>.</p> - -<p>This notification does not appear in your stack of notifications on the wearable, but -appears as the only notification on the handheld device.</p> - -<pre style="clear:right"> -Bitmap largeIcon = BitmapFactory.decodeResource(getResources(), - R.drawable.ic_large_icon); - -// Create an InboxStyle notification -builder = new NotificationCompat.Builder(this) - .setContentTitle("2 new messages") - .setSmallIcon(R.drawable.ic_small_icon) - .setLargeIcon(largeIcon) - .setStyle(new NotificationCompat.InboxStyle() - .addLine("Alex Faaborg Check this out") - .addLine("Jeff Chang Launch Party") - .setBigContentTitle("2 new messages") - .setSummaryText("johndoe@gmail.com")); - -// Specify the notification to be the group summary -Notification summaryNotification = new WearableNotificationOptions.Builder() - .setGroupSummary(GROUP_KEY_EMAILS) - .build() - .applyTo(builder) - .build(); - -notificationManager.notify(notificationId3, summaryNotification); -</pre> - -<p> -This notification uses {@link android.support.v4.app.NotificationCompat.InboxStyle}, -which gives you an easy way to create notifications for email or messaging apps. -You can use this style, another one defined in {@link android.support.v4.app.NotificationCompat}, -or no style for the summary notification. -</p> - -<p class="note"><b>Tip:</b> -To style the text like in the example screenshot, see -<a href="{@docRoot}guide/topics/resources/string-resource.html#StylingWithHTML">Styling -with HTML markup</a> and -<a href="{@docRoot}guide/topics/resources/string-resource.html#StylingWithSpannables">Styling -with Spannables</a>. -</p> -</body> -</html>
\ No newline at end of file |
