2

は、これは私のコードFirebase通知は、(アプリケーションが画像の(左側)に取り組んでいる場合)私は、通知を送信すると、アプリケーションの実行

private void showNotification(String message) { 

    NotificationCompat.BigTextStyle stil = new NotificationCompat.BigTextStyle(); 
    stil.setBigContentTitle("Başıl"); 
    stil.bigText(message); 
    Intent i=new Intent(this,Bilgi.class); 
    i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
    PendingIntent pendingIntent=PendingIntent.getActivity(this,0,i,PendingIntent.FLAG_UPDATE_CURRENT); 
    NotificationCompat.Builder builder = new NotificationCompat.Builder(this); 
    builder.setAutoCancel(true); 
    builder.setSmallIcon(R.mipmap.ic_launcher); 
    builder.setTicker("selam dost.mesaj geldi"); 
    builder.setDefaults(Notification.DEFAULT_ALL); 
    builder.setContentIntent(pendingIntent); 
    builder.setContentTitle("Bildirim"); 
    builder.setContentText(message); 
    builder.setStyle(stil); 
    NotificationManager notificationManager= (NotificationManager) getSystemService(NOTIFICATION_SERVICE); 
    notificationManager.notify(0,builder.build()); 



} 

enter image description here

である場合には表示されない私の通知は表示されません。アプリケーションがバックグラウンドで作業しているときに通知が表示されます。どうすればこの問題を解決できますか?手伝ってくれてどうもありがとう。

答えて

6

official documentationに記載されているように、アプリがバックグラウンドで実行される場合、システムトレイに通知が自動的に追加されます。アプリがフォアグラウンドで実行されている場合、通知は代わりにサービスのonMessageReceivedメソッドに送信されます。

だから、アプリの状態に基づいてFirebase通知して行われるものを要約する:

  • フォアグラウンドonMessageReceivedは、通知を処理する
  • 背景:Firebaseは、通知を処理し、それを配置しますあなたのシステムトレイ
+0

私のコードでは何が変わるのですか?手伝って頂けますか ?ありがとうございました。 –

+0

通知された通知を表示するコードはどこですか? 'onMessageReceived'では?もしそうなら、 'String'メッセージが空でないことを確認しましたか? – TR4Android

2

onMessageReceivedの方法では、通知を受ける必要がありますメッセージ本文を入力し、showNotification(String message)メソッドに渡します。

このような

:それはfirebase通知を送信するときに、あなたが設定したメッセージが表示されます方法

@Override 
public void onMessageReceived(RemoteMessage remoteMessage) { 
    String message = remoteMessage.getNotification().getBody(); 
    showNotification(message); 
} 

関連する問題