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

Переход к различным действиям при нажатии на уведомление

У меня есть этот сценарий, когда пользователь щелкает уведомление, тогда, если приложение открыто/передний план, я хочу перенаправить пользователя на HomeActivity, иначе перенаправить пользователя на SplashActivity, когда я выполняю некоторые задачи аутентификации там. Итак, каков наилучший и правильный способ добиться этого??

Я знаю, что есть много связанных вопросов, но я не нашел ничего конкретного для своего варианта использования.



Ответы:


1

Чтобы перенаправить пользователя на определенное действие на основе вашей логики, вы можете использовать PendingIntent. .

Чтобы проверить рабочий пример, нажмите здесь.

OR

попробуйте ниже код при нажатии кнопки.

NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
    builder.setSmallIcon(android.R.drawable.ic_dialog_alert);
    Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://www.stackoverflow.com/"));
    PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, 0);
    builder.setContentIntent(pendingIntent);
    builder.setLargeIcon(BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher));
    builder.setContentTitle("Notifications Title");
    builder.setContentText("Your notification content here.");
    builder.setSubText("Tap to view the website.");

    NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);

    // Will display the notification in the notification bar
    notificationManager.notify(1, builder.build());

Чтобы проверить, находится ли ваше приложение на переднем плане или нет, прочитайте этот пост< /а>.

31.07.2018

2

После некоторого поиска на этом форуме я получил это post , взяв некоторые рекомендации из того, что я нашел решение, при нажатии уведомления я перенаправляю каждое намерение на HomeActivity и в onCreate() помещаю свой код, чтобы проверить, выполнена ли аутентификация или нет (до setContentView()). Если аутентификация не выполнена, перенаправьте на SplashActivity и завершите текущее действие, в противном случае продолжите.

09.08.2018
  • да, но когда мое приложение находится в фоновом режиме, я не могу получить предварительную навигацию, где бы я ни хотел быть. не могли бы вы вставить этот код, который решает вашу проблему, а не текстовое объяснение. 12.03.2019
  • И когда приложение находится в фоновом режиме, нажмите на уведомление, и я перейду к действию по умолчанию, но я хочу перейти к другому действию. 12.03.2019
  • вам просто нужно написать свою логику навигации в действии по умолчанию перед setContentView(..) 12.03.2019
  • не могли бы вы дать мне пример логики здесь, я не могу получить точную логику, когда приложение находится в фоновом режиме. 12.03.2019
  • не могли бы вы вставить эту логику сюда, я не могу получить точную логику для этого 13.03.2019
  • Каков ваш точный вариант использования ?? 13.03.2019
  • stackoverflow.com/questions/55135422/ === это вариант использования 13.03.2019
  • Подскажите, пожалуйста, как решить эту проблему и как проверить, прошла аутентификация или нет? 13.03.2019
  • в моем случае я поддерживаю токен (токен firebase) в общих настройках, теперь, когда пользователь заходит в HomeActivity, я проверяю его действительность, если это не удается, я перенаправляю пользователя на splashactivity (через намерение), иначе продолжайте как обычно 13.03.2019
  • AAAAI9l2eEg:APA91bFC10ac_y_xE6d6ObTbwsWlJNDuSHj40gQlU0tBaYHVsRSfyynVevVBcYTY3szO6fmrBsxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -- you mean this type of firebase token are you using? 13.03.2019
  • Да, вы спрашиваете, как я выполняю аутентификацию пользователей или как я обрабатываю аутентификацию при нажатии на уведомление?? 13.03.2019
  • я спрашиваю о том, как обрабатывать активность в нашей программе запуска, когда я нажимаю на уведомление, я хочу перенаправить на определенную активность, а не на активность по умолчанию 13.03.2019
  • прямо сейчас, когда мое приложение находится на переднем плане, нажмите на уведомление, оно будет правильно переходить к указанной активности, но когда приложение находится в фоновом режиме, оно не переходит к указанной активности. 13.03.2019
  • if(условие) { //перейти к действию 1 13.03.2019
  • что это за проверка состояния? 13.03.2019
  • //////////поместите этот код в начало действия onCreate() if (проверьте, не выполнена ли аутентификация пользователя) { Intentintent = new Intent(this, SplashActivity.class); намерение.putExtras(getIntent().getExtras()); startActivity(намерение); финиш(); } setContentView(это, R.layout.activity_home); ........остальная часть кода домашней активности 13.03.2019
  • спасибо а как проверить что аутентификация прошла или нет? 13.03.2019
  • firebase предоставляет метод, в котором вы можете проверить текущего пользователя (для более индивидуального подхода вам нужно написать свою собственную логику) 14.03.2019
  • stackoverflow.com/questions/55135422/ не могли бы вы посмотреть на мой вопрос. 14.03.2019
  • Новые материалы

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

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

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

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

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

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

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