Все, что вы пробовали до сих пор, довольно правильно. Я пробовал ваш код на примере приложения android,
package com.example.notificationapp;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.NotificationCompat;
import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.media.RingtoneManager;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import java.util.Random;
public class MainActivity extends AppCompatActivity {
private static final String NOTIFICATION_CHANNEL_ID = "Notification Channel Name";
private static final String NOTIFICATION_CHANNEL_NAME = "Notifications";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Intent notificationIntent = new Intent(this, HomeActivity.class);
Intent notificationIntent = new Intent(Intent.ACTION_VIEW);
notificationIntent.setData(Uri.parse("https://play.google.com/store/apps/details?id=com.example.android"));
startActivity(notificationIntent);
notificationIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
final PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, notificationIntent,
PendingIntent.FLAG_ONE_SHOT);
int notificationId = new Random().nextInt(60000);
// Bitmap bitmap = getBitmapfromUrl(remoteMessage.getData().get("image-url"));
// Intent likeIntent = new Intent(Intent.ACTION_VIEW);
// likeIntent.putExtra(NOTIFICATION_ID_EXTRA,notificationId);
// likeIntent.putExtra(IMAGE_URL_EXTRA, remoteMessage.getData().get("image-url"));
// PendingIntent likePendingIntent = PendingIntent.getService(this,
// notificationId+1,likeIntent, PendingIntent.FLAG_ONE_SHOT);
Uri defaultSoundUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
NotificationManager notificationManager =
(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
final NotificationChannel notificationChannel = new NotificationChannel(NOTIFICATION_CHANNEL_ID,
NOTIFICATION_CHANNEL_NAME, NotificationManager.IMPORTANCE_DEFAULT);
notificationManager.createNotificationChannel(notificationChannel);
}
NotificationCompat.Builder notificationBuilder =
new NotificationCompat.Builder(this, NOTIFICATION_CHANNEL_ID)
//.setLargeIcon(bitmap)
.setSmallIcon(R.mipmap.ic_launcher)
.setContentTitle("some random title")
// .setStyle(new NotificationCompat.BigPictureStyle()
// .setSummaryText("message from remote message")
// .bigPicture(bitmap))/*Notification with Image*/
.setContentText("Adding some text within content text")
.setAutoCancel(true)
.setSound(defaultSoundUri)
// .addAction(R.drawable.ic_favorite_true,
// getString(R.string.notification_add_to_cart_button),likePendingIntent)
.setContentIntent(pendingIntent);
notificationManager.notify(notificationId, notificationBuilder.build());
}
}
Вот что я вижу,
введите описание изображения здесь
Итак, я вижу, что браузер открывается с указанным URL.
Я очень подозреваю, что ваш метод onMessageReceived
в MyFirebaseMessagingService не вызывается. Пожалуйста, добавьте сообщение журнала в onMessageReceived и посмотрите, вызываются ли вы, что, возможно, станет следующим шагом, если вы еще не пробовали.