Boa noite galera preciso de uma ajuda em java aqui

Boa noite, criei um aplicativo no Android Studio e PHP, o aplicativo é de notificação e o meu protótipo deu certo, eu só queria fazer assim, quando a pessoa clica na notificação mostrar o title e message que foi enviada…

public class FcmMessagingService extends FirebaseMessagingService {
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
    String title = remoteMessage.getNotification().getTitle();
    String message = remoteMessage.getNotification().getBody();
    String click_action = remoteMessage.getNotification().getClickAction();

    Intent intent = new Intent(click_action);
    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    PendingIntent pendingIntent = PendingIntent.getActivity(this,0,intent,PendingIntent.FLAG_ONE_SHOT);
    NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this);
    notificationBuilder.setContentTitle(title);
    notificationBuilder.setContentText(message);
    notificationBuilder.setSmallIcon(R.mipmap.ic_launcher);
    notificationBuilder.setAutoCancel(true);
    notificationBuilder.setContentIntent(pendingIntent);
    NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
    notificationManager.notify(0,notificationBuilder.build());

    }
}

Se o protótipo deu certo, que tipo de ajuda está precisando?

Funcionou no emulador? Num aparelho real?

Dê mais detalhes.

Abraço.

1 curtida

Boa noite @TerraSkilll pela atenção, é assim a parte que eu falo que ta funcionando é parte de enviar e receber, esta tudo ok.
A parte que eu quero fazer e não to conseguindo é assim, eu envio a notificação pelo form em php, ele chega no meu celular real e quando eu clico na notificação, eu queria te chegasse a mensagem que eu envio pelo form, entendeu ? Enviei pro celular, chegou, abri, Cade a mensagem ? tendeu? eu queria qe quando a pessoa clica-se na notificação abri uma tela com a notificação escrita.

O primeiro passo é saber se há uma mensagem mesmo, se ela está vindo em branco ou se nem está chegando.

Pelo que entendo do seu código, a String message é a mensagem que você quer exibir, certo? Então faça debug ou use log no conteúdo dela.

Se a linha:

String message = remoteMessage.getNotification().getBody();

Já contém uma mensagem vazia, você sabe que o problema está na comunicação, não na exibição em uma activity. Ao debugar, confira o conteúdo completo de remoteMessage também.

Abraço.

1 curtida

Bom dia @TerraSkilll, pode me dizer mais claramente, eu não sei muito de java, esse foi o meu primeiro app…Me da uma força por favor.

Se é seu primeiro app e você não manja muito de java, recomendo começar de forma mais simples. Sei que você quer esse app rodando, mas sem você entender o que está acontecendo vai ficar difícil te ajudar.

Primeiro, aprenda a debugar no Android Studio:

Outra ferramenta interessante é o LogCat, que permite exibir mensagens no console do Android Studio. Isso permite, por exemplo, que você exiba o valor de variáveis e outras coisas, similar ao que se faz com System.out.println() em Java normal.

Com o LogCat, você poderia fazer algo como:

public void onMessageReceived(RemoteMessage remoteMessage) {
    String title = remoteMessage.getNotification().getTitle();
    String message = remoteMessage.getNotification().getBody();
    String click_action = remoteMessage.getNotification().getClickAction();
    Log.i("Mensagem: ", message); // exibe o valor da mensagem no console

    // resto do código

Abraço.

@TerraSkilll desculpa, eu tenho uma tela quando a pessoa clica na notificação, ela vai pra uma tela chamada notificação activity… e nela que eu tenho que exibir a notificação que foi enviada…Olha ela

[code]public class NotificationActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_notification);

}

}
[/code]
Como eu mostro a notificação aqui… nessa tela

Não precisa se desculpar, todos estamos aqui pra aprender.

O que quero que você verifique primeiro é se a mensagem está chegando corretamente no aparelho. A notificação chega, mas e o conteúdo da mensagem? Se a mensagem não chega, nunca haverá nada para exibir na tela.

Você está preocupado com passar uma String para uma tela (algo simples), mas precisa primeiro saber se há uma String com uma mensagem. Por isso pedi para verificar com o LogCat ou com debug o conteúdo da variável message.

Se você já garantiu que a mensagem está chegando corretamente, para enviá-la para outra tela (Activity), pode usar putExtra e getExtra, que é um meio de transitar informações entre activities. Veja exemplo em:

Abraço.

@TerraSkilll isso, está chegando a mensagem no meu aparelho, só não sei como mostrar o conteúdo da mensagem. Entendeu?