У меня проблема с моим приложением.Название описывает все это.У меня есть две функции push-уведомлений в моем приложении.Для отправки текстовых сообщений и для напоминаний.Чтобы проверить функцию обмена сообщениями, я использую мой телефон и эмулятор.Я могу отправить текстовое сообщение со своего телефона, и эмулятор получит уведомление просто отлично.Аналогично, если я устанавливаю напоминание на эмуляторе, я получаю уведомление.
Однако проблема возникает при отправке с эмулятора на телефон.Я отправляю сообщение, но мой телефон не получает уведомление.Даже когда я устанавливаю напоминание на свой телефон, я не получаю уведомление.Мой телефон работает на уровне API 26, а мой эмулятор - на уровне API 27. Может ли это быть проблемой с моим каналом уведомлений?
Это код уведомления текстового сообщения:
private void createNotificationChannel() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
CharSequence name = "Personal Notifications";
String desc = "Include all the personal notifications";
int importance = NotificationManager.IMPORTANCE_DEFAULT;
NotificationChannel notificationChannel = new NotificationChannel(getString(R.string.default_notification_channel_id),name,importance);
notificationChannel.setDescription(desc);
NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
notificationManager.createNotificationChannel(notificationChannel);
}
}
public void onMessageReceived(RemoteMessage remoteMessage) {
super.onMessageReceived(remoteMessage);
createNotificationChannel();
String messageTitle = remoteMessage.getNotification().getTitle();
String messageBody = remoteMessage.getNotification().getBody();
String click_action = remoteMessage.getNotification().getClickAction();
String dataMessage = remoteMessage.getData().get("message");
String dataFrom = remoteMessage.getData().get("from_user_id");
NotificationCompat.Builder builder = new NotificationCompat.Builder(this, getString(R.string.default_notification_channel_id))
.setSmallIcon(R.mipmap.ic_launcher_round)
.setContentTitle(messageTitle)
.setContentText(messageBody)
.setPriority(NotificationCompat.PRIORITY_DEFAULT);
Intent intent = new Intent(click_action);
intent.putExtra("message", dataMessage);
intent.putExtra("from_user_id", dataFrom);
PendingIntent resultIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
builder.setContentIntent(resultIntent);
// int mNotificationId = (int) System.currentTimeMillis();
NotificationManager mNotifyMgr = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
mNotifyMgr.notify(0, builder.build());
}
Блок напоминания такой же, но передает текст напоминания.Пожалуйста, помогите мне решить это?Спасибо