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

Tam*_*ura 4 android android-intent android-notifications googleio wear-os

在 Google I/O Bytes 视频《我们如何为 Android Wear 定制 Google Apps》(https://www.youtube.com/watch?v=o5cne6vK-eo)中,我看到对于可穿戴定制相机应用程序,他们添加了一个按钮直接位于通知上(而不是位于通知后面作为新页面,如果使用 addAction 或 setContentAction 则会出现这种情况)。

有谁知道我需要使用哪个 API 才能做到这一点?我不认为第一个视图使用自定义 Activity,因为当至少有一个通知时,它看起来就像 Android Wear 的第一个屏幕。我试图在文档中查找它,但找不到。我尝试过 setDisplayIntent 这是其他人建议的,但它似乎不是同一个。

Pet*_*ese 5

使用Wea​​rableExtender.setContentAction(int)将操作直接添加到通知卡。int 参数指的是您添加到通知的操作的索引(使用NotificationCompat.Builder.addAction(NotificationCompat.Action))。有关如何为可穿戴设备创建通知的更多信息,请参阅创建通知。

您可以使用 SDK 管理器下载的示例代码包含一个示例项目通知(位于/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));
Run Code Online (Sandbox Code Playgroud)