Как остановить открытое приложение, когда уведомление нажимает android? - PullRequest
0 голосов
/ 01 мая 2020

Как сделать уведомление, например, когда я нажимаю на него, уведомление удаляется, но без действий.

   PendingIntent pendingIntent = PendingIntent.getActivity(this, 0,intent, PendingIntent.FLAG_ONE_SHOT);

        NotificationCompat.Builder builder = new  NotificationCompat.Builder(this, channelId)
                .setSmallIcon(R.mipmap.ic_launcher)
                .setContentTitle("Title")
                .setContentText(""Message)
                .setAutoCancel(true)
                .setContentIntent(pendingIntent)
                .setPriority(Notification.PRIORITY_MAX);

        NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);

        manager.notify(0, builder.build());

с помощью вышеуказанного кода, приложение открывается при нажатии на уведомление.

Это уведомление приходит от FCM, который я положил это в настраиваемом конструкторе уведомлений.

1 Ответ

0 голосов
/ 01 мая 2020

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

Как насчет сделать уведомление с PendingIntent, которое делает ничего.

// Get Notification Manager
val notificationManager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager

// Create Notification Channel if device OS >= Android O
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
    NotificationChannel(channelId, channelName, NotificationManager.IMPORTANCE_DEFAULT).let {
        notificationManager.createNotificationChannel(it)
    }
}

// Create PendingIntent with empty Intent
// So this pending intent does nothing
val pendingIntent = PendingIntent.getActivity(this, 0, Intent(), PendingIntent.FLAG_ONE_SHOT)

// Configure NotificationBuilder
val builder = NotificationCompat.Builder(this, channelId)
    .setSmallIcon(R.drawable.ic_launcher_foreground)
    .setContentTitle("Title")
    .setContentText("Message")
    .setAutoCancel(true)
    .setContentIntent(pendingIntent)

// Make the Notification
notificationManager.notify(0, builder.build())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...