Уведомления Android не отображаются на устройстве (они работают на эмуляторе) - PullRequest
0 голосов
/ 22 сентября 2019

У меня проблема с моим приложением.Название описывает все это.У меня есть две функции 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());
    }

Блок напоминания такой же, но передает текст напоминания.Пожалуйста, помогите мне решить это?Спасибо

...