如何在Android Wear上直接添加通知按钮

4
在 Google I/O Bytes 视频 How We Customized Google Apps for Android Wear (https://www.youtube.com/watch?v=o5cne6vK-eo) 中,我看到他们在 Wearable-customized Camera App 中在通知上直接添加了一个按钮(而不是使用 addAction 或 setContentAction 将其放在通知的后面作为新页面)。
有人知道我需要使用哪个API才能实现这一点吗?我觉得他们没有使用自定义 Activity 来做第一个视图,因为它看起来只是 Android Wear 的第一个屏幕当至少有一个通知时。我尝试在文档中找到它,但找不到。我已经尝试了其他人建议的 setDisplayIntent 但似乎不是同一个东西。
2个回答

5
使用WearableExtender.setContentAction(int)函数,可以直接为通知卡片添加操作。其中的int参数是您在通知中添加操作时(使用NotificationCompat.Builder.addAction(NotificationCompat.Action)函数)所添加的操作的索引。有关如何为可穿戴设备创建通知的更多信息,请参见Creating a Notification

您可以使用SDK管理器下载的示例代码包含一个名为Notifications的示例项目(位于/samples/android-20/wearable/Notifications下),演示了如何创建各种类型的通知。以下是来自该示例的编辑片段,显示如何创建一个带有嵌入式操作的通知:

NotificationCompat.Action action = new NotificationCompat.Action.Builder(
        R.drawable.ic_result_open, null, NotificationUtil.getExamplePendingIntent(
        context, R.string.example_content_action_clicked)).build();

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

谢谢!但是我仍然遇到了一个问题。我仍然想把两个按钮作为第一页后面的页面保留下来。但是当我使用.addAction(R.drawable.button, "Name", pendingIntent)时,“Name”无法在可穿戴设备上显示(pendingIntent正常工作,我总共有三个页面)。您以前见过这种情况吗? - Tamaki Sakura
一旦您开始使用可穿戴设备操作(使用WearableExtender.addAction),常规操作将不再显示在可穿戴设备上。这为可穿戴设备和手机提供了不同的操作集的机会。 - Peter Friese

0
该视频向您演示了一些必要的步骤,但主要是您所需的可穿戴数据层API。第一个视图(卡片)是通知,但该通知会启动在穿戴设备上运行的Activity。该Activity会显示按钮并通过数据层API向相机发送拍照消息。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接