5

Używam FCM do powiadamiania, gdzie wszystko działa poprawnie, ale dopóki aplikacja nie zostanie otwarta, gdy zabiję (zamknę) aplikację lub w tle, otrzymam Powiadomienie w stylu domyślnym, czy ktoś może mi pomóc w ustawieniu tego stylu powiadomienia po zamknięciu aplikacji (lub jakiejkolwiek innej sugestii). uprzejmie mi pomóc z tym, Dziękuje z goryPowiadomienie Android Push, gdy aplikacja jest zamknięta Dostaję inny styl

Oto mój kod

@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

jaka jest wersja tego systemu operacyjnego urządzenia. – RameshJaga

+0

mine to Android Lollipop 5.1 –

+0

Możesz również udostępniać swoją część kodu Powiadomienia. Co najmniej minimalny kod zgłoszenia może być pomocny w analizie tej sprawy. – RameshJaga

Odpowiedz

0

już pisał długie wyjaśnienie tutaj: Android notification icon issue

TL; DR:

Najprawdopodobniej Twoim problemem jest różnica między komunikatami z powiadomieniami i danych-wiadomości.

Proszę przeczytać: https://firebase.google.com/docs/cloud-messaging/concept-options#notifications_and_data_messages

Użyj powiadomień, gdy chcesz FCM obsłużyć wyświetlanie powiadomienia w aplikacji klienckiej imieniu. Używaj wiadomości z danymi, gdy chcesz przetworzyć wiadomości w aplikacji klienckiej.

+0

Czy jest jakakolwiek możliwość, w której można kontynuować działanie aplikacji MessageReceiver, gdy aplikacja jest w tle lub zamknięta, z usługi w tle? –

+0

Nie rozumiem twojego komentarza. Możesz wyjaśnić? Jeśli chcesz, aby aplikacja działała w tle (ponieważ musisz pobrać plik lub musisz zrobić coś innego), musisz skorzystać z usługi i wywołać funkcję startService z onMessageReceived() –

+0

Tak, wywołaj startService z onMessageReceived (), więc gdy wysyłam wiadomość Firebase, pojawia się powiadomienie z ustawionym stylem. (nie domyślna taca systemowa) –