Ответ
В Android можно удалить кэшированные сообщения несколькими способами:
- Через
NotificationManager:
val notificationManager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
notificationManager.cancel(notificationId) // для конкретного уведомления
notificationManager.cancelAll() // все уведомления приложения
- Очистка кэша приложения:
try {
val packageManager = context.packageManager
val packageName = context.packageName
packageManager.getApplicationInfo(packageName, 0).run {
val cacheDir = File(sourceDir)
if (cacheDir.exists()) {
cacheDir.deleteRecursively()
}
}
} catch (e: Exception) {
e.printStackTrace()
}
- Через
CacheManager(если сообщения кэшированы в памяти):
CacheManager.getInstance().clear()
Важно: для работы с файлами нужно запросить разрешение WRITE_EXTERNAL_STORAGE (для API < 30).