From b00d08796b1fbd94867aeb566e34b52d4938d1ea Mon Sep 17 00:00:00 2001 From: sreevanis Date: Tue, 13 Sep 2016 16:17:35 -0700 Subject: [PATCH] docs: Added documentation for Inline action on notification stream and steps for adding images to a notification. Bug:31012795 Change-Id: Ic7cbf1c2b8b5c2c7b18dadc95dd10c8b0d4add5b --- .../wear/preview/features/notifications.jd | 165 +++++++++++++++--- .../wear/preview/images/inline_action.png | Bin 0 -> 26246 bytes 2 files changed, 136 insertions(+), 29 deletions(-) create mode 100644 docs/html/wear/preview/images/inline_action.png diff --git a/docs/html/wear/preview/features/notifications.jd b/docs/html/wear/preview/features/notifications.jd index dcc09709deb3f..b546978a8b9cc 100644 --- a/docs/html/wear/preview/features/notifications.jd +++ b/docs/html/wear/preview/features/notifications.jd @@ -1,6 +1,5 @@ page.title=Notification Changes in Android Wear 2.0 -meta.tags="wear", "wear-preview", "notifications" -page.tags="wear" +meta.tags="wear", "wear-preview", "notifications" page.tags="wear" page.image=/wear/preview/images/expanded_diagram.png @@ -12,6 +11,7 @@ page.image=/wear/preview/images/expanded_diagram.png

This document includes

  1. Visual Updates
  2. +
  3. Inline Action
  4. Expanded Notifications
  5. MessagingStyle
@@ -67,7 +67,8 @@ material design visual changes. We recommended that you don't set color for bridged notifications. When Wear apps post local notifications, you can work around this by checking - the API level of the device they're running on and using an appropriate color + the API level of the device + they're running on and using an appropriate color for Wear 1.x and a different color for Wear 2.0. @@ -77,6 +78,85 @@ material design visual changes. you must update the text of your notification. + +

Inline Action

+ + +

+ Wear 2.0 now supports inline action, which allows users to take actions on a + notification from within the notification stream card. On Wear, the inline + action appears as an additional button displayed at the bottom of the notification. +

+

+ Inline actions are optional but recommended for cases in which users are likely + to take an action on a notification after viewing the contents in the + notification stream card (without going to the + expanded notification). + Examples of good use cases for inline action on a notification include: replying to a + text message, stopping a fitness activity, and archiving an email message. +

+ +

+ A notification can provide only one inline action. + To display the inline action as an additional button in the notification, set + the {@code setHintDisplayActionInline()} + method to true. When a user taps the inline action, the system invokes + the intent that you specified in the notification action. +

+ +

Adding an inline action

+

+ The following code example shows how to create a notification with an inline + reply action: +

+ +
    +
  1. Create an instance of + {@code RemoteInput.Builder} + that you can add to your notification action. This class's constructor accepts a + string that the system uses as the key for the text input. Later, your app + uses that key to retrieve the text of the input. + +
    +String[] choices = context.getResources().getStringArray(R.array.notification_reply_choices);
    +    choices = WearUtil.addEmojisToCannedResponse(choices);
    +  RemoteInput remoteInput = new RemoteInput.Builder(Intent.EXTRA_TEXT)
    +        .setLabel(context.getString(R.string.notification_prompt_reply))
    +        .setChoices(choices)
    +        .build();
    +
    + +
  2. + +
  3. + Use the {@code addRemoteInput()} + method to attach the {@code RemoteInput} + object to an action. + +
    +NotificationCompat.Action.Builder actionBuilder = new NotificationCompat.Action.Builder(
    +        R.drawable.ic_full_reply, R.string.notification_reply, replyPendingIntent);
    +    actionBuilder.addRemoteInput(remoteInput);
    +    actionBuilder.setAllowGeneratedReplies(true);
    +
    +
  4. + +
  5. + Add a hint to display the reply action inline, and use the + {@code addAction} + method to add this action to the notification. + +
    +// Android Wear 2.0 requires a hint to display the reply action inline.
    +    Action.WearableExtender actionExtender =
    +        new Action.WearableExtender()
    +            .setHintLaunchesActivity(true)
    +            .setHintDisplayActionInline(true);
    +    wearableExtender.addAction(actionBuilder.extend(actionExtender).build());
    +
    +
  6. +
+

Expanded Notifications

Android Wear 2.0 introduces expanded notifications, which provide substantial additional content and actions for each notification. @@ -152,51 +232,52 @@ action in the notification unless a different action is specified using

MessagingStyle

-

If you have a chat messaging app, your notifications should use -{@code Notification.MessagingStyle}, - which is new in Android N. Wear 2.0 uses the chat messages included - in a {@code MessagingStyle} notification - - (see {@code addMessage()}) to provide - a rich chat app-like experience in the expanded notification. +

+ If you have a chat messaging app, your notifications should use + {@code NotificationCompat.MessagingStyle}, + which is new in Android 7.0. Wear 2.0 uses the chat messages included in a + {@code MessagingStyle} notification + (see {@code addMessage()}) + to provide a rich chat app-like experience in the expanded notification.

-

Note: {@code MessagingStyle} +

Note: {@code MessagingStyle} expanded notifications require that you have at least version 1.5.0.2861804 of the Android Wear app - on your paired Android phone. That version will be available within the next - few weeks in the Play Store. + on your paired Android phone.

Smart Reply

-

Wear 2.0 also introduces Smart Reply -for {@code MessagingStyle} notifications. +

Wear 2.0 also introduces Smart Reply for + {@code MessagingStyle} notifications. Smart Reply provides the user with contextually relevant, touchable choices in the expanded notification and in {@code RemoteInput}. These augment the fixed list of choices that the developer provides in - {@code RemoteInput} - using the - {@code setChoices()} method. -

-

By enabling Smart Reply for your MessagingStyle notifications, - you provide users with a fast (single tap), discreet (no speaking aloud), and - reliable way to respond to chat messages. -

- -

Responses generated by Smart Reply are shown in addition to those set using the + {@code RemoteInput} + using the {@code setChoices()} method.

+

Smart Reply provides users with a fast (single tap), discreet (no speaking aloud), + private (messages received by a user never leave the watch), and reliable (no + internet connection needed) way to respond to chat messages. +

+ +

+ Smart Reply responses are generated by an entirely on-watch machine learning + model using the context provided by the MessagingStyle notification. No user + notification data is sent to Google servers to generate Smart Reply responses. +

+

To enable Smart Reply for your notification action, you need to do the following:

    -
  1. Use {@code Notification.MessagingStyle}. +
  2. Use {@code NotificationCompat.MessagingStyle}.
  3. -
  4. Call the method {@code setAllowGeneratedReplies()} for the notification action. - For more information, see the downloadable - API reference. +
  5. Call the method {@code setAllowGeneratedReplies(true)} + for the notification action.
  6. Ensure that the notification action has a {@code RemoteInput} @@ -236,3 +317,29 @@ Notification noti = new NotificationCompat.Builder() // 3) add an action with RemoteInput .extend(new WearableExtender().addAction(action)).build(); + +

    Adding images to a MessagingStyle notification

    +

    + You can add images to a notification message by setting the appropriate MIME + type and placing the URI to the image in {@code NotificationCompat.MessagingStyle.Message.} + {@code setData()} method. +

    +

    + Here is the code snippet to set data of type image in a notification: +

    +
    +NotificationCompat.MessagingStyle.Message message = new Message("sticker", 1, "Jeff")
    +                      .setData("image/png", stickerUri);
    +
    +  NotificationCompat notification = new NotificationCompat.Builder()
    +             .setStyle(new NotificationComapt.MessagingStyle("Me")
    +             .addMessage(message)
    +             .build());
    +
    +
    +

    + In the above code snippet the variable stickerUri is a Uri that + points to a publicly-accessible location, as described here + . +

    \ No newline at end of file diff --git a/docs/html/wear/preview/images/inline_action.png b/docs/html/wear/preview/images/inline_action.png new file mode 100644 index 0000000000000000000000000000000000000000..7ecaafeb25441ff8fd4c3b2b26725901774d444c GIT binary patch literal 26246 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 bJjDM4{=WQpGTfH?00000NkvXXu0mjf@=;$I literal 0 HcmV?d00001