我没有在 MainActivity 的 onNewIntent 方法中获取我的包的数据
I don't get my bundle's data in onNewIntent method of MainActivity
我在我的 FireBaseService 中收到推送通知,我想将它的数据发送到 MainActivity,下面是我的代码:
Intent intent = new Intent("PUSH_NOTIFICATION");
intent.setClassName(this, MainActivity.class.getName());
Bundle bundle = new Bundle();
bundle.putParcelable("data", data);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.putExtra("notification bundle", bundle);
startActivity(intent);
onNewIntent()
被调用但是当我解析它时,它给了我空数据。我做错了什么吗?
提前致谢。
编辑:我的 MainActivity 启动模式是 singleTop(以获得它的相同实例)
我最近在我的应用程序中实现了 Firebase 通知,但我遇到了同样的问题。问题是当通过 Firebase 控制台和应用程序在后台发送通知时,onMessageReceived
方法没有被调用,onNewIntent()
方法 returns 为空。
尝试通过 PostMan(RestApi 客户端)发送具有相同负载的推送通知。然后,您将能够在接收器的 onMessageRecieved
方法中接收和获取数据。
我找到了答案,我在 Whosebug 上的某个地方读到 Bundles 与 Parcelable Objects 有问题,最好将它们转换为字节数组然后将它们绑定到 Bundles,我没有测试它,但我绑定 JSON 字符串本身并用 Bundle 发送它,然后在 onNewIntent() 方法中解析它,而不是解析它并发送 parcelable 对象,它起作用了
我在我的 FireBaseService 中收到推送通知,我想将它的数据发送到 MainActivity,下面是我的代码:
Intent intent = new Intent("PUSH_NOTIFICATION");
intent.setClassName(this, MainActivity.class.getName());
Bundle bundle = new Bundle();
bundle.putParcelable("data", data);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.putExtra("notification bundle", bundle);
startActivity(intent);
onNewIntent()
被调用但是当我解析它时,它给了我空数据。我做错了什么吗?
提前致谢。
编辑:我的 MainActivity 启动模式是 singleTop(以获得它的相同实例)
我最近在我的应用程序中实现了 Firebase 通知,但我遇到了同样的问题。问题是当通过 Firebase 控制台和应用程序在后台发送通知时,onMessageReceived
方法没有被调用,onNewIntent()
方法 returns 为空。
尝试通过 PostMan(RestApi 客户端)发送具有相同负载的推送通知。然后,您将能够在接收器的 onMessageRecieved
方法中接收和获取数据。
我找到了答案,我在 Whosebug 上的某个地方读到 Bundles 与 Parcelable Objects 有问题,最好将它们转换为字节数组然后将它们绑定到 Bundles,我没有测试它,但我绑定 JSON 字符串本身并用 Bundle 发送它,然后在 onNewIntent() 方法中解析它,而不是解析它并发送 parcelable 对象,它起作用了