我有一个推送通知,指示视频已成功上传。我想要的是更改单击通知的活动目的地,现在它正在转到我的 MainActivity,但我不知道如何更改它。
我有文档中的FirebaseMessagingService类,但我不明白我应该把意图放在哪里,因为似乎我从来没有到达过这个地方 -
public class MyFirebaseMessagingService extends FirebaseMessagingService {
public static final String RECEIVED_FCM_ACTION = "com.onemdtalent.app.RECEIVED_FCM_ACTION";
public static final String BD_KEY_BODY = "BD_KEY_BODY";
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
// [START_EXCLUDE]
// There are two types of messages data messages and notification messages. Data messages are handled
// here in onMessageReceived whether the app is in the foreground or background. Data messages are the type
// traditionally used with GCM. Notification messages are only received here in onMessageReceived when the app
// is in the foreground. When the app is in the background an automatically generated notification is displayed.
// When the user taps on the notification they are returned to the app. Messages containing both notification
// and data payloads are treated as notification messages. The Firebase console always sends notification
// messages. For more see: https://firebase.google.com/docs/cloud-messaging/concept-options
// [END_EXCLUDE]
Timber.tag("remoteMessage").d(remoteMessage.getData().toString());
//String image = remoteMessage.getData().get("image");
Timber.d("onMessageReceived: %s", remoteMessage.getFrom());
// Check if message contains a notification payload.
if (remoteMessage.getNotification() != null) {
String body = remoteMessage.getNotification().getBody();
Timber.d("Message Notification Body: %s", body);
// broadcast
Intent localIntent = new Intent(RECEIVED_FCM_ACTION);
localIntent.putExtra(BD_KEY_BODY, body);
LocalBroadcastManager.getInstance(this).sendBroadcast(localIntent);
}
}
}
使用挂起的意图设置目标活动。
Intent intent = new Intent(this,YourActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, 0);
在通知构建器中设置内容意图,如下所示
builder.setContentIntent(pendingIntent);
您将在 MainActivity 中获得意图数据,您可以获取意图数据并使用意图数据启动重定向活动。
在重定向活动中获取意向数据,并解析数据。 希望这对你有用。
将这种类型的代码放入您的主活动中.class
Intent intent = new Intent(this,RedirectActivity.class);
intent.putExtra("data",getIntent());
startActivity(intent1);