сообщения уведомления Handle в приложении фоновый
Когда ваше приложение работает в фоновом режиме, Android направляет сообщения уведомлений на панели задач. Пользователь, нажав на уведомление, открывает по умолчанию программу запуска приложений.
Включает в себя сообщения, содержащие как полезную нагрузку для уведомлений и данных (и все сообщения, отправленные с консоли уведомлений). В этих случаях уведомление доставляется на системный лоток устройства, а данные передаются в дополнение к цели вашего запуска. Деятельность.
Когда вы отправляете сообщение с информацией о полезной нагрузке (уведомлении и данных), и приложение находится в фоновом режиме, вы можете извлекать данные из дополнительных функций, которые запускаются в результате нажатия пользователем на уведомление ,
С FCM sample, которая запускает MainActivity когда уведомление повернутой:
if (getIntent().getExtras() != null) {
for (String key : getIntent().getExtras().keySet()) {
String value = getIntent().getExtras().getString(key);
Log.d(TAG, "Key: " + key + " Value: " + value);
}
}
EDIT:
В onMessageRecieved(RemoteMessage remoteMessage)
используйте метод remoteMessage.getData()
, чтобы получить данные, которые отправляются на сервер, который возвращает Map<String,String>
,
Теперь создайте намерение и укажите класс для запуска при нажатии уведомления и в этом намерении введите ваши данные уведомления. Нравится:
Intent resultIntent = new Intent(getApplicationContext(), MainActivity.class);
resultIntent.putExtra("notification_data", data.getData());
Теперь передайте это намерение в ожидании, когда вы показываете уведомление.
И когда MainActivity.class запускается по щелчку уведомления только получить данные, как это:
Map<String,String> notificationDataMap
= getIntent().getSerializableExtra("notification_data");
Так с карты вы можете получить данные.
вы получите информацию об уведомлении в комплекте в своей активности запуска при нажатии на уведомление, поэтому получите данные из пакета в активности запуска и используйте их соответствующим образом. –
@AkshayBhat, вы можете объяснить более подробно, сэр? – Yuw