Skip to content

Commit c8b685b

Browse files
authored
fix(firebase messaging, android): update getParcelableExtra() for Android 33. (#10921)
1 parent 03103a0 commit c8b685b

File tree

2 files changed

+14
-4
lines changed

2 files changed

+14
-4
lines changed

packages/firebase_messaging/firebase_messaging/android/src/main/java/io/flutter/plugins/firebase/messaging/FlutterFirebaseMessagingBackgroundExecutor.java

+8-2
Original file line numberDiff line numberDiff line change
@@ -228,8 +228,14 @@ public void notImplemented() {
228228
}
229229

230230
// Handle the message event in Dart.
231-
RemoteMessage remoteMessage =
232-
intent.getParcelableExtra(FlutterFirebaseMessagingUtils.EXTRA_REMOTE_MESSAGE);
231+
RemoteMessage remoteMessage;
232+
233+
if (android.os.Build.VERSION.SDK_INT >= 33) {
234+
remoteMessage = intent.getParcelableExtra(FlutterFirebaseMessagingUtils.EXTRA_REMOTE_MESSAGE, RemoteMessage.class);
235+
} else {
236+
remoteMessage = intent.getParcelableExtra(FlutterFirebaseMessagingUtils.EXTRA_REMOTE_MESSAGE);
237+
}
238+
233239
if (remoteMessage != null) {
234240
Map<String, Object> remoteMessageMap =
235241
FlutterFirebaseMessagingUtils.remoteMessageToMap(remoteMessage);

packages/firebase_messaging/firebase_messaging/android/src/main/java/io/flutter/plugins/firebase/messaging/FlutterFirebaseMessagingPlugin.java

+6-2
Original file line numberDiff line numberDiff line change
@@ -128,8 +128,12 @@ public void onReceive(Context context, Intent intent) {
128128
String token = intent.getStringExtra(FlutterFirebaseMessagingUtils.EXTRA_TOKEN);
129129
channel.invokeMethod("Messaging#onTokenRefresh", token);
130130
} else if (action.equals(FlutterFirebaseMessagingUtils.ACTION_REMOTE_MESSAGE)) {
131-
RemoteMessage message =
132-
intent.getParcelableExtra(FlutterFirebaseMessagingUtils.EXTRA_REMOTE_MESSAGE);
131+
RemoteMessage message;
132+
if (android.os.Build.VERSION.SDK_INT >= 33) {
133+
message = intent.getParcelableExtra(FlutterFirebaseMessagingUtils.EXTRA_REMOTE_MESSAGE, RemoteMessage.class);
134+
} else {
135+
message = intent.getParcelableExtra(FlutterFirebaseMessagingUtils.EXTRA_REMOTE_MESSAGE);
136+
}
133137
if (message == null) return;
134138
Map<String, Object> content = FlutterFirebaseMessagingUtils.remoteMessageToMap(message);
135139
channel.invokeMethod("Messaging#onMessage", content);

0 commit comments

Comments
 (0)