2014-08-28 2 views
0

Мне нужно передать дополнительные данные при показе уведомления о пригодности для переноски из приложения смартфона, которое затем будет передано обратно в класс приложения смартфона, связанный с PendingIntent. Я попыталсяПередача дополнительных данных от Wearable to Activity

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

Но когда ProcessReplyActivity создается на приложение для смартфонов - (после того, как я выбираю ответ на носимое устройство) - getIntent().getStringExtra("test") является нуль.

Это правильный путь?

спасибо.

ответ

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); 
+0

спасибо за ваше подробное объяснение. – user1379811

+0

Нет проблем :) Чтобы продвигать ответы на высококачественные ответы, вы также можете подумать над ответами, которые не только правильны, но и полезны любым другим способом - например, имеют дополнительное объяснение причины проблемы и т. Д. –

Смежные вопросы