将其他数据从Wearable传递回Activity

时间:2014-08-28 12:15:24

标签: java android wear-os

我需要在智能手机应用程序上显示针对可穿戴设备的通知时传递其他数据,然后将其传递回与PendingIntent关联的智能手机应用程序类。我试过了

Intent viewIntent = new Intent(context, ProcessReplyActivity.class);
viewIntent.putExtra("test", "test");
PendingIntent actionPendingIntent = PendingIntent.getActivity(context, 0, viewIntent, 0);

但是当在智能手机应用程序上创建ProcessReplyActivity时 - (在我对可穿戴设备选择响应后) - getIntent().getStringExtra("test") null

这是正确的方法吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

你最后一行的最后一个参数是错误的(以2行显示,以便阅读舒适):

PendingIntent actionPendingIntent =
    PendingIntent.getActivity(context, 0, viewIntent, 0);

你可能已经创建了这样的意图而没有test额外的,系统正在重新使用旧的而不是使用新的(带额外的)。您应该使用PendingIntent.FLAG_UPDATE_CURRENT让系统知道您要使用此待处理意图的最新版本:

PendingIntent actionPendingIntent =
    PendingIntent.getActivity(context, 0, viewIntent, PendingIntent.FLAG_UPDATE_CURRENT);

在官方教程中使用相同的标志如何在可穿戴通知中实现语音输入:
https://developer.android.com/training/wearables/notifications/voice-input.html#AddAction

// Create an intent for the reply action
Intent replyIntent = new Intent(this, ReplyActivity.class);
PendingIntent replyPendingIntent =
    PendingIntent.getActivity(this, 0, replyIntent,
            PendingIntent.FLAG_UPDATE_CURRENT);