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

时间:2014-06-30 16:22:36

标签: android android-intent android-notifications wear-os googleio

在Google I / O Bytes视频中我们如何自定义Google Apps for Android Wear(https://www.google.ca/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0CCAQtwIwAA&url=http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3Do5cne6vK-eo&ei=gYyxU4v8EcWu8AGl0oCgDA&usg=AFQjCNEUFIJHz7EK-SQue73mMar0ekir6Q&bvm=bv.69837884,d.b2U),我看到对于可穿戴式自定义相机应用,他们直接在通知上添加了一个按钮(不是在将通知作为新页面返回,如果使用addAction或setContentAction则会发生这种情况。

有没有人知道我需要使用哪种API才能做到这一点?我不认为第一个视图使用自定义活动,因为它至少看起来像Android Wear的第一个屏幕。我试图在文档中找到它但是无法得到它。我已经尝试过setDisplayIntent,这是其他人建议的,但它似乎并不是同一个。< / p>

2 个答案:

答案 0 :(得分:4)

使用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));

答案 1 :(得分:0)

视频会引导您完成所需的几个步骤,但主要内容(以及您要求的内容)是Wearable Data Layer API。第一个视图(卡片)是一个通知,但该通知会启动在磨损设备上运行的活动。该活动显示按钮并通过数据层API向相机发送消息以拍摄照片。