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

Luk*_*kas 13 android android-notifications wear-os

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

在此输入图像描述

一切正常,除非每次有人点击卡片时都显示确认信息.

在此输入图像描述

由于只要有人点击它就会更新卡片,因此无需显示确认信息.

我已经检查了官方文档(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());
Run Code Online (Sandbox Code Playgroud)

小智 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);
Run Code Online (Sandbox Code Playgroud)

注意这一行:

.setShowWhen(true);
Run Code Online (Sandbox Code Playgroud)

并且可以将Intent的flag修改为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);
Run Code Online (Sandbox Code Playgroud)

我不知道它是否正常工作,但我希望它能给你一个线索。