禁用android穿戴待定意图动作确认

时间:2015-01-03 10:53:03

标签: android android-notifications wear-os

我正在开发一个带有通知的应用程序,该应用程序显示在佩戴设备上。通知包含绑定到通知卡上的操作(.setContentAction(0))。

enter image description here

一切正常,但每次有人点击卡片时都会显示确认信息。

enter image description here

由于卡片会在有人点击后立即更新,因此无需显示确认信息。

如果有办法停止确认,我已经查看了官方文档(https://developer.android.com/training/wearables/ui/confirm.html#show-confirmation),遗憾的是到目前为止我找不到解决方案。

编辑09.07.2015

NotificationCompat.Builder builder = new NotificationCompat.Builder(context)
                                    .setGroup("GROUP")
                                    .setGroupSummary(false)
                                    .setAutoCancel(false)
                                    .setPriority(Notification.PRIORITY_HIGH)
                                    .setSmallIcon(R.drawable.ic_timer_white_48dp);

ArrayList<NotificationCompat.Action> actions = new ArrayList<>();
NotificationCompat.Action control = new NotificationCompat.Action.Builder(icon, null, pendingTimeIntent).build();

actions.add(control);

builder.extend(new NotificationCompat.WearableExtender().addActions(actions).setContentAction(0).setBackground(background));

NotificationManagerCompat notificationManager =
            NotificationManagerCompat.from(context);
notificationManager.notify(Constants.NOTIFICATION_ID_WEAR, builder.build());

1 个答案:

答案 0 :(得分:0)

你可以尝试修改你的构造函数,如:

NotificationCompat.Builder builder = new NotificationCompat.Builder(context)
                                    .setGroup("GROUP")
                                    .setGroupSummary(false)
                                    .setAutoCancel(false)
                                    .setPriority(Notification.PRIORITY_HIGH)
                                    .setShowWhen(true)                                                                                   
.setSmallIcon(R.drawable.ic_timer_white_48dp);

注意这一行:

.setShowWhen(true);

您可以将Intent的标志修改为false:

Intent intent = new Intent(this, ConfirmationActivity.class);
intent.putExtra(ConfirmationActivity.EXTRA_ANIMATION_TYPE,
                ConfirmationActivity.SUCCESS_ANIMATION);
intent.putExtra(ConfirmationActivity.EXTRA_MESSAGE,
                getString(R.string.msg_sent));
intent.putExtra(ConfirmationActivity.EXTRA_SHOW_WHEN, false);
startActivity(intent);

我不知道它是否正常工作,但我希望它能为您提供线索。