Ich erstelle eine Android -Anwendungen, die auch die auf dem Gerät empfangenen Benachrichtigungen sparen. Ich verwende NotificaitonListenerservice zum Empfangen von Benachrichtigungen und Raumdatenbank, um sie im Gerät zu speichern. Der Code funktioniert für viele Anwendungen vollkommen in Ordnung und extrahiert und speichert ihre Anwendung, aber einige Anwendungen wie Google Mail, Pinterest und andere Google -Anwendungen haben Probleme beim Speichern von Benachrichtigungsdaten. Unten finden Sie den Code -Snippet: < /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>
Während dieser Code für die meisten Anwendungen funktioniert und ihre Benachrichtigungen speichern, kann ich die Benachrichtigung nicht vor Google Mail, Pinterest und einigen anderen Google -Anwendungen speichern. Bitte helfen Sie mir, dieses Problem zu lösen. Ich habe gegoogelt, überall gesucht und sogar die AI -Bitten nicht helfen, dieses Problem zu lösen. Also bitte jede Hilfe würde geschätzt.
Speichern von Benachrichtigungen von Google Mail- und Google -Anwendungen funktioniert nicht in Android/Kotlin ⇐ Android
-
- Similar Topics
- Replies
- Views
- Last post