Nano Hash - криптовалюты, майнинг, программирование

Push-уведомление об открытии активности с тем же намерением

Я получаю push-уведомления с данными (намерениями). Если я получил два или более уведомлений с разными идентификаторами, но открыл одно действие, и идентификаторы совпадают. Например, я получаю три уведомления с разными id=1,2,3. Но при запуске Activity используйте один идентификатор = 3. Когда я нажимаю первое или второе уведомление с идентификаторами 1 и 2, открывается Activity с идентификатором 3. Можете ли вы помочь понять мою ошибку в коде?

NOTIFICATION_ID ++;
        mNotificationManager = (NotificationManager)
                this.getSystemService(Context.NOTIFICATION_SERVICE);
        NotificationCompat.Builder mBuilder =
                new NotificationCompat.Builder(this)
        .setSmallIcon(R.drawable.ic_launcher)
        .setContentTitle(msg.getString("title"))
        .setContentText(msg.getString("message"))
        .setDefaults(Notification.DEFAULT_SOUND)
        .setStyle(new NotificationCompat.BigPictureStyle().bigPicture(Picasso.with(getApplicationContext()).load(msg.getString("icon")).get()).setSummaryText(msg.getString("message")))        
        .setAutoCancel(true);

        Log.e("msg---",msg.toString());
        Intent intent = new Intent(Intent.ACTION_MAIN);
        intent.setComponent(new ComponentName(this, ActivityDetail.class));
//        intent.setAction(Intent.ACTION_MAIN);
        intent.addCategory(Intent.CATEGORY_LAUNCHER);
//        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
        intent.putExtra(Keys._PostId,msg.getString("id"));
        intent.putExtra(Keys._Image, msg.getString("icon"));
        intent.putExtra(Keys._PostType,  msg.getString("post_type"));       
        PendingIntent contentIntent = PendingIntent.getActivity(this, 0, intent, 0);

        mBuilder.setContentIntent(contentIntent);
        mNotificationManager.notify(NOTIFICATION_ID, mBuilder.build());

  • Вам нужно установить PendingIntent в соответствии с вашими идентификаторами. 14.07.2014
  • пожалуйста, попробуйте это, может быть, это поможет вам PendingIntent contentIntent=PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT); спасибо ;-) 14.07.2014

Ответы:


1

Создайте свой PendingIntent вот так и сделайте трюк

PendingIntent contentIntent = PendingIntent.getActivity(this, (int) (Math.random() * 100), intent, PendingIntent.FLAG_UPDATE_CURRENT);
14.07.2014
  • спас мой день :) Спасибо братан @BirajZalavadia 06.03.2017
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..