5

FCMを使用して通知が行われていますが、アプリが開いていない限り、アプリが終了するかバックグラウンドで終了するまで通知がデフォルトのスタイルであれば、誰でもアプリケーションの終了時にこの通知スタイルを設定するのを手伝うことができます(またはその他の提案)。 が親切にここアプリが閉じているときに別のスタイルが表示される

アドバンスで、ありがとうこれで私を助けることは、私はすでにここに長い説明を掲載

@Override 
public void onMessageReceived(RemoteMessage remoteMessage) { 


    String title = ""; 
    if (remoteMessage.getNotification().getTitle() != null){ 
     title = remoteMessage.getNotification().getTitle(); 
    } 

    String message = ""; 
    if (remoteMessage.getNotification().getBody() != null){ 
     message = remoteMessage.getNotification().getBody(); 
    } 

    Log.e("notification","recieved"); 


    sendNotification(title, message); 

} 



private void sendNotification(String title, String message) { 

    Intent intent = new Intent(this, MainActivity2.class); 
    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 

    PendingIntent pendingIntent = PendingIntent.getActivity(this, 0/*Request code*/, intent, PendingIntent.FLAG_ONE_SHOT); 
    Uri notificationSound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); 

    int color=getResources().getColor(R.color.dot_dark_screen2); 

    NotificationCompat.Builder notifiBuilder = new NotificationCompat.Builder(this) 
      .setSmallIcon(R.mipmap.account_outline) 
      .setColor(color) 
      .setDefaults(Notification.DEFAULT_SOUND) 
      .setLargeIcon(BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher)) 
      .setContentTitle(title) 
      .setContentText(message) 
      .setStyle(new NotificationCompat.BigTextStyle().bigText(message)) 
      .setAutoCancel(true) 
      .setSound(notificationSound) 
      .setContentIntent(pendingIntent); 


    NotificationManager notificationManager = (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE); 
    notificationManager.notify(0 /*ID of notification*/, notifiBuilder.build()); 

enter image description here

+0

このデバイスのオペレーティングシステムのバージョンは? – RameshJaga

+0

鉱山はアンドロイドロリポップ5.1 –

+0

通知コード部分も共有できますか?通知の最低限のコードがこのケースを分析するのに役立つかもしれません。 – RameshJaga

答えて

0

私のコードです: Android notification icon issue

TL; DR:

あなたの問題は通知メッセージデータメッセージの違いです。

お読みください:https://firebase.google.com/docs/cloud-messaging/concept-options#notifications_and_data_messages

使用通知メッセージを使用すると、FCMは、クライアントアプリケーションに代わって 通知を表示処理したいとき。 がクライアントアプリケーションでメッセージを処理したいときにデータメッセージを使用します。

+0

バックグラウンドでアプリケーションを実行しているときにonMessageReceiverを実行していたり​​、バックグラウンドサービスから閉じていたりする可能性はありますか? –

+0

私はあなたのコメントを理解していません。明確にすることはできますか? ファイルをダウンロードする必要があるか、何か他のことをする必要があるため、アプリケーションをバックグラウンドで実行し続けることが必要な場合は、サービスを使用してonMessageReceived()からstartServiceを呼び出す必要があります。 –

+0

はい、startServiceをonMessageReceived )ので、Firebaseメッセージを送信すると、通知は設定されたスタイルで表示されます。 (デフォルトのシステムトレイ1ではなく) –

関連する問題