Кнопка/действие не отображается в уведомлении об износе

Я пытаюсь создать приложение для Android, которое отправляет уведомление на устройство Android Wear.

В уведомлении должно быть установлено действие с содержимым, чтобы пользователь мог напрямую активировать действие, нажав кнопку, отображаемую в уведомлении.

Однако при использовании приведенного ниже кода действие появляется на следующей странице, как обычное действие, а не в уведомлении:

Context context = getApplicationContext();

// Create an intent for the reply action
Intent actionIntent = new Intent(this, getClass());

PendingIntent actionPendingIntent =
        PendingIntent.getActivity(this, 0, actionIntent,
                PendingIntent.FLAG_UPDATE_CURRENT);

// Create the action
NotificationCompat.Action action =
        new NotificationCompat.Action.Builder(R.drawable.common_signin_btn_icon_dark, "ActionTitle", actionPendingIntent).build();

NotificationCompat.Builder builder =
        new NotificationCompat.Builder(context)
                .setSmallIcon(R.drawable.common_signin_btn_icon_dark)
                .setContentTitle("Title")
                .setContentText("Context Text")
                .addAction(action)
                .extend(new NotificationCompat.WearableExtender()
                        .setContentAction(0));

// Get an instance of the NotificationManager service
NotificationManagerCompat notificationManager =
        NotificationManagerCompat.from(this);

// Build the notification and issues it with notification manager.
notificationManager.notify(0, builder.build());

Вот как это выглядит:

введите здесь описание изображения

После смахивания:

введите здесь описание изображения

Предполагается, что все это должно быть на одной странице с кнопкой «Действие», встроенной в уведомление, например:

введите здесь описание изображения

Что я делаю не так?


person corazza    schedule 08.08.2014    source источник
comment
Не совсем уверен (поэтому комментарий, а не ответ), но я считаю, что действие, которое должно появиться на главной странице, должно быть в .extend(new NotificationCompat.WearableExtender().setContentAction( /* HERE */ ));   -  person Budius    schedule 08.08.2014
comment
@Budius Это не так в примере проекта, который работает (но слишком отличается, чтобы копировать напрямую). Я пробовал, и это не работает.   -  person corazza    schedule 08.08.2014
comment
@jco: какой пример проекта вы имеете в виду? Пробовали ли вы предложения в stackoverflow.com/ вопросов/25018086/ или stackoverflow.com/questions/24601352/?   -  person Wayne Piekarski    schedule 09.08.2014
comment
@WaynePiekarski ContentAction, который поставляется с SDK. Кроме того, я почти уверен, что два вопроса, которые вы связали выше, решают мой вопрос. Я проверю это в понедельник и отмечу свой вопрос как дубликат, если они есть или достаточно похожи.   -  person corazza    schedule 09.08.2014


Ответы (1)