public class FirebaseMessagingService extends com.google.firebase.messaging.FirebaseMessagingService{
String TAG = "FirebaseMessagingService";
@Override
public void onMessageReceived(RemoteMessage remoteMessage){
Log.i(TAG," input string :"+ String.valueOf(remoteMessage.getData()));
/**
* Parse remote input and pass id, action, frequency and payload to eventHandler.
* **/
String messageType = remoteMessage.getMessageType();// messageType is null always
if(messageType.equalsIgnoreCase("Data")){
Log.i(TAG, " Data notification received");
}
else if(messageType.equalsIgnoreCase("Notification")){
Log.i(TAG, " Push notification received");
}
}
ответ
Я не уверен, что должно быть возвращено . Но кажется маловероятным, что он возвращает либо Data
, либо Notification
, так как a single message can contain both notification and data information.
Спасибо. Я действительно понял способ проверить тип сообщения как таковой. Для меня работает без использования getMessageType.
Данные карты = remoteMessage.getData(); RemoteMessage.Notification notification = remoteMessage.getNotification();
if (data.isEmpty()) { // message type is notification.
parseDataMessage(remoteMessage);
} else { // message type is data.
parseNotificationMessage(remoteMessage);
}
Из документации это выглядит, как будто это параметр, который можно установить при отправке сообщений и с помощью SDK here.
public RemoteMessage.Builder setMessageType (String messageType)
Однако при отправке сообщений с помощью API Firebase REST, я не видел возможность указать тип сообщения.
Вы должны попробовать, как это ...
if(getIntent().getExtras() != null && getIntent().getExtras().get("your_data_key") != null) {
String strNotificaiton = getIntent().getExtras().get("your_data_key").toString(); }
- 1. GCM - почему я получаю NULL в onMessageReceived?
- 2. NULL IN (1,2, NULL) возвращает false
- 3. get in Hashmap возвращает null
- 4. Inject in Dagger возвращает null
- 5. Wearable.MessageApi.sendMessage возвращает Успех, но onMessageReceived не звонит
- 6. Get & set in Java возвращает значение null
- 7. String Возвращает Null out onActivityResult in Fragment
- 8. Не IN оператор в MySQL возвращает NULL
- 9. Eloquent \ model injection in method возвращает null
- 10. null == null возвращает false?
- 11. PropertyInfo.GetValue (null, null) возвращает null
- 12. Null Object In Retrofit2
- 13. FCM - Установка значка в onMessageReceived
- 14. null JavaCompiler in Eclipse
- 15. Невызовистый метод OnMessageReceived в xamarin
- 16. Firebase onMessageReceived запускается дважды
- 17. Почему (false || null) возвращает null, а (null || false) возвращает false?
- 18. COUNT (NULL) и IN IN
- 19. открытый фрагмент из Firebase onMessageReceived
- 20. Результат Partialview возвращает null
- 21. ItemsControl.ItemContainerGenerator.ContainerFromItem() возвращает null?
- 22. Monk in nodejs иногда возвращает null на findAndModify
- 23. сообщение для php in android всегда возвращает null
- 24. Android findViewById возвращает Null in Eclipse сгенерированный проект
- 25. Windows 7 - C# Excel Add-In - Registry.GetValue всегда возвращает null
- 26. Ping in C# возвращает null, когда не первый метод
- 27. android - get item (position) in adapter возвращает null
- 28. Spinner in Action Bar возвращает Null Pointer Exception
- 29. Malloc in Constructor возвращает NULL при вызове через новый
- 30. И поле NOT IN (NULL) возвращает пустой набор
Благодаря Frank. Я просто подумал об этом и отправил свой ответ, не используя getMessageType() как таковой. –