问题描述
我需要帮助。 Firebase通知不在后台工作。这是我的代码: @Override
public void onMessageReceived(RemoteMessage remoteMessage){
Log.d(TAG,FROM:+ remoteMessage.getFrom());
sharedPreference = getSharedPreferences(Global.SECURETRADE,0);
UID = sharedPreference.getString(Global.ID,);
Uri defaultSoundUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION)`在此输入代码`;
NotificationCompat.Builder notificationBuilder = new
NotificationCompat.Builder(this);
if(android.os.Build.VERSION.SDK_INT> = Build.VERSION_CODES.LOLLIPOP){
notificationBuilder.setSmallIcon(R.mipmap.small_secure_trade_app_icon);
} else {
notificationBuilder.setSmallIcon(R.drawable.small_secure_trade_app_icon);
}
notificationBuilder.setLargeIcon(BitmapFactory.decodeResource(this.getResources(),R.drawable.securetrade_icon));
notificationBuilder.setContentTitle(remoteMessage.getData()。get(title));
notificationBuilder.setContentText(remoteMessage.getData()。get(body));
notificationBuilder.setAutoCancel(true);
notificationBuilder.setSound(defaultSoundUri);
notificationBuilder.setContentIntent(pendingIntent);
NotificationManager notificationManager =
(NotificationManager)
getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(0,notificationBuilder.build());
$ / code $ / pre $ b您是否正在发送数据消息(而不是通知消息)?
$ b 通知消息不要调用 onMessageReceived()
阅读更多:
PS:FCM Web控制台始终发送通知消息
如果您正在发送数据消息,并且 onMessageReceived()
未被调用...
则是一个不同的问题。
I need help. Firebase Notifications is Not Working in Background. This is My Code:
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
Log.d(TAG, "FROM:" + remoteMessage.getFrom());
sharedPreference = getSharedPreferences(Global.SECURETRADE, 0);
UID = sharedPreference.getString(Global.ID, "");
Uri defaultSoundUri=RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION)`enter code here`;
NotificationCompat.Builder notificationBuilder = new
NotificationCompat.Builder(this);
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
notificationBuilder.setSmallIcon(R.mipmap.small_secure_trade_app_icon);
} else {
notificationBuilder.setSmallIcon(R.drawable.small_secure_trade_app_icon);
}
notificationBuilder.setLargeIcon(BitmapFactory.decodeResource(this.getResources(), R.drawable.securetrade_icon));
notificationBuilder.setContentTitle(remoteMessage.getData().get("title"));
notificationBuilder.setContentText(remoteMessage.getData().get("body"));
notificationBuilder.setAutoCancel(true);
notificationBuilder.setSound(defaultSoundUri);
notificationBuilder.setContentIntent(pendingIntent);
NotificationManager notificationManager =
(NotificationManager)
getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(0, notificationBuilder.build());
}
}
解决方案 Are you sending data-messages (not notification-messages) ?
notification-messages don't call onMessageReceived()
Read more here: https://firebase.google.com/docs/cloud-messaging/concept-options#notifications_and_data_messages
PS: FCM Web Console always sends notification-messages
If you are sending a data-messages, and onMessageReceived()
is not called...
then it's a different problem.
It might even be a problem of that specific device.
See Push notifications using FCM not received when app is killed android
这篇关于Firebase通知不在后台工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!