Notification не работает setOngoing(true)

Написал функцию которая присылает Notification, мне нужно чтобы он висел даже если приложение убито добавил setOngoing(true), на эмуляторах работает без проблем а вот на реальных устройствах на некоторых работает, на некоторых стирается стоит только выйти из приложения. Вот моя функция:

    fun setNotification(activity: Activity) {
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
            val name = activity.resources.getString(R.string.app_name)
            val importance = NotificationManager.IMPORTANCE_DEFAULT
            val channel = NotificationChannel("004", name, importance)
            val notificationManager: NotificationManager = activity.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
            notificationManager.createNotificationChannel(channel)
        }

        val remoteViews = RemoteViews(activity.packageName, R.layout.notification)
        remoteViews.setOnClickPendingIntent(R.id.notif_button_1, getNotifIntent(activity, EVENT_1, 1))
        remoteViews.setOnClickPendingIntent(R.id.notif_button_2, getNotifIntent(activity, EVENT_2, 2))
        remoteViews.setOnClickPendingIntent(R.id.notif_button_3, getNotifIntent(activity, EVENT_3, 3))
        remoteViews.setOnClickPendingIntent(R.id.notif_button_4, getNotifIntent(activity, EVENT_4, 4))

        val builder = NotificationCompat.Builder(activity, "004").apply {
            setSmallIcon(R.mipmap.ic_launcher)
            setCustomContentView(remoteViews)
            setOngoing(true)
            setAutoCancel(false)
        }

        with(NotificationManagerCompat.from(activity)) {
            notify(4, builder.build())
        }
    }

    private fun getNotifIntent(activity: Activity, intentFlag: String, requestCode: Int): PendingIntent? {
        val intent = Intent(activity, MainActivity::class.java)
        intent.putExtra(intentFlag, "")
        intent.action = Intent.ACTION_MAIN
        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK or Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_NO_HISTORY)
        val pending_event_intent = PendingIntent.getActivity(activity, requestCode, intent, 0)
        return pending_event_intent
    }

Вызываю в MainActivity:

Notification.setNotification(this)

Подскажите пожалуйста, в чем может быть дело и как можно поправить, знаю что можно, так как видел в других приложениях подобное работало на том же устройстве где у меня удаляется!?


Ответы (0 шт):