FCM,未接收数据



我收到通知,标题和正文,但没有收到数据。

{
"notification":{
"body":"This is message body",
"title":"This is Title",
"click_action":"clickAction",
"data":{
"post_id":"post id",
"update":"no"
}
},
"to":"token"
}

这是FCM的json,其他一切正常,我收到通知,通知打开特定页面,但我无法从通知中获取数据。

这是MyFirebaseMessaging.java中的一个函数

private void showNotification(RemoteMessage.Notification notification, 
Map<String, String> data) {
String clickAction = notification.getClickAction();
Intent intent = new Intent(clickAction);
if (data.size() > 0){
String post_id = data.get("post_id");
Bundle bundle = new Bundle();
bundle.putString("blog_post_id",post_id);
intent.putExtras(bundle);
} else {
String post_id = "post id";
Bundle bundle = new Bundle();
bundle.putString("blog_post_id",post_id);
intent.putExtras(bundle);
}
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
PendingIntent pendingIntent = PendingIntent.getActivities(this, 0, new Intent[]{intent}, PendingIntent.FLAG_ONE_SHOT);

我也尝试了没有捆绑但结果相同的。 在单击操作活动中,我收到空值。 这是我在 ClickAction 类中用于接收 Intent 的代码

blog_post_id = getIntent().getStringExtra("blog_post_id");
Log.e(TAG,"blog_post_id "+blog_post_id);

编辑 1:问题已解决,由于某种原因,单击操作活动正在从其他活动接收 getIntent() 并生成 null。 所以我又创建了一个 getIntent() 并添加了

String id = null;
try {
id = getIntent().getStringExtra("id");
blog_post_id = getIntent().getStringExtra("blog_post_id");
} catch (Exception e) {
e.printStackTrace();
}
try {
if (id.length() > 0) {
blog_post_id = id;
}
} catch (Exception e) {
e.printStackTrace();
}

这解决了我的问题。

问题已解决,由于某种原因,单击操作活动正在接收来自其他活动的getIntent()并生成 null。 所以我又创建了一个getIntent()并添加了。 所以我简单地合并了它们,它解决了这个问题。

主要问题是——

Activity1将数据发送到blog_post_id

Activity2还想向blog_post_id发送数据,

但是因为blog_post_id需要定期从Activity1那里获得数据,所以如果没有从Activity1接收数据,它会生成null pointer exception, 因此,我只需将Activity2的数据放入String id并合并两者。

String id = null;
try {
id = getIntent().getStringExtra("id");
blog_post_id = getIntent().getStringExtra("blog_post_id");
} catch (Exception e) {
e.printStackTrace();
}
try {
if (id.length() > 0) {
blog_post_id = id;
}
} catch (Exception e) {
e.printStackTrace();
}

相关内容

  • 没有找到相关文章

最新更新