Я делаю приложения для Android, которые также имеют функцию сохранения уведомлений, которые были получены на устройстве. Я использую NotificaitOnListenerService для получения уведомлений и базы данных комнаты для их сохранения в устройстве. Код работает совершенно хорошо для многих приложений, и он извлекает и сохраняет их приложение, но некоторые приложения, такие как Gmail, Pinterest и другие приложения Google, имеют проблемы при сохранении данных уведомлений. Ниже приведен фрагмент кода: < /p>
override fun onNotificationPosted(sbn: StatusBarNotification?) {
super.onNotificationPosted(sbn)
CoroutineScope(Dispatchers.IO).launch {
//If sbn?.notification is null, the return@launch statement will stop the execution (not run rest of the code)
val notification = sbn?.notification ?: return@launch
// Ignore our own notifications
if (sbn.packageName == packageName) return@launch
// Ignore notifications from foreground services
if ((notification.flags and Notification.FLAG_FOREGROUND_SERVICE) != 0) {
return@launch
}
val extras = notification.extras
val packageName = sbn.packageName
val appName = packageName?.let { packageManager.getApplicationInfo(it, 0) }?.let {
packageManager.getApplicationLabel(it)
}.toString()
val title = extras?.getString(Notification.EXTRA_TITLE) ?: ""
val text = extras?.getString(Notification.EXTRA_TEXT) ?: ""
val bigText = extras?.getString(Notification.EXTRA_BIG_TEXT) ?: ""
val subText = extras?.getString(Notification.EXTRA_SUB_TEXT) ?: ""
val category = packageName?.let { getCategory(it) }.toString()
val postTime = System.currentTimeMillis()
val isRead = false
// Generate unique key for this notification
val imageKey = generateImageKey(packageName, title)
// Check if we already have this image
val largeIconPath = getExistingImagePath(imageKey) ?: // Handle new image
handleLargeIcon(extras, imageKey)
Log.d(
"Notificationsss",
"AppName: $appName \nTitle: $title \nText: $text \nBigText: $bigText \nSubText: $subText"
)
val style = extras.getString("android.template")
Log.d("styleeeee", "Style: $style")
saveToDatabase(
packageName,
appName,
title,
text,
bigText,
subText,
category,
postTime,
largeIconPath,
isRead
)
}
}
< /code>
Хотя этот код работает для большинства приложений и сохранять их уведомления, я не могу сохранить уведомление от Gmail, Pinterest и некоторых других приложений Google. Пожалуйста, помогите мне решить эту проблему, я погуглил, искал повсюду и даже спрашивая, что ИИ не может помочь мне решить эту проблему. Так что, пожалуйста, любая помощь будет оценена.
Подробнее здесь: https://stackoverflow.com/questions/795 ... in-android
Сохранение уведомлений в приложениях Gmail и Google не работает в Android/Kotlin ⇐ Android
Форум для тех, кто программирует под Android
1744352841
Anonymous
Я делаю приложения для Android, которые также имеют функцию сохранения уведомлений, которые были получены на устройстве. Я использую NotificaitOnListenerService для получения уведомлений и базы данных комнаты для их сохранения в устройстве. Код работает совершенно хорошо для многих приложений, и он извлекает и сохраняет их приложение, но некоторые приложения, такие как Gmail, Pinterest и другие приложения Google, имеют проблемы при сохранении данных уведомлений. Ниже приведен фрагмент кода: < /p>
override fun onNotificationPosted(sbn: StatusBarNotification?) {
super.onNotificationPosted(sbn)
CoroutineScope(Dispatchers.IO).launch {
//If sbn?.notification is null, the return@launch statement will stop the execution (not run rest of the code)
val notification = sbn?.notification ?: return@launch
// Ignore our own notifications
if (sbn.packageName == packageName) return@launch
// Ignore notifications from foreground services
if ((notification.flags and Notification.FLAG_FOREGROUND_SERVICE) != 0) {
return@launch
}
val extras = notification.extras
val packageName = sbn.packageName
val appName = packageName?.let { packageManager.getApplicationInfo(it, 0) }?.let {
packageManager.getApplicationLabel(it)
}.toString()
val title = extras?.getString(Notification.EXTRA_TITLE) ?: ""
val text = extras?.getString(Notification.EXTRA_TEXT) ?: ""
val bigText = extras?.getString(Notification.EXTRA_BIG_TEXT) ?: ""
val subText = extras?.getString(Notification.EXTRA_SUB_TEXT) ?: ""
val category = packageName?.let { getCategory(it) }.toString()
val postTime = System.currentTimeMillis()
val isRead = false
// Generate unique key for this notification
val imageKey = generateImageKey(packageName, title)
// Check if we already have this image
val largeIconPath = getExistingImagePath(imageKey) ?: // Handle new image
handleLargeIcon(extras, imageKey)
Log.d(
"Notificationsss",
"AppName: $appName \nTitle: $title \nText: $text \nBigText: $bigText \nSubText: $subText"
)
val style = extras.getString("android.template")
Log.d("styleeeee", "Style: $style")
saveToDatabase(
packageName,
appName,
title,
text,
bigText,
subText,
category,
postTime,
largeIconPath,
isRead
)
}
}
< /code>
Хотя этот код работает для большинства приложений и сохранять их уведомления, я не могу сохранить уведомление от Gmail, Pinterest и некоторых других приложений Google. Пожалуйста, помогите мне решить эту проблему, я погуглил, искал повсюду и даже спрашивая, что ИИ не может помочь мне решить эту проблему. Так что, пожалуйста, любая помощь будет оценена.
Подробнее здесь: [url]https://stackoverflow.com/questions/79568137/saving-notifications-from-gmail-and-google-applications-does-not-work-in-android[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия