Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Manera fiable de recuperar los detalles de StatusbarNotification (título, texto de notificación)

Me gustaría obtener la mayor cantidad de información posible de un objeto StatusBarNotification . En este momento, la única información "fiable" a la que se puede acceder es el tickerText -property. Estoy usando el siguiente código para obtener el título de la notificación y el texto a través de RemoteViews , pero una gran parte del tiempo, el título y / o el texto será simplemente nulo :-(:

  //Get the title and text String mTitle = ""; String mText = ""; try { RemoteViews remoteView = sbn.getNotification().contentView; LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); ViewGroup localView = (ViewGroup) inflater.inflate(remoteView.getLayoutId(), null); remoteView.reapply(getApplicationContext(), localView); TextView tvTitle = (TextView) localView.findViewById(android.R.id.title); TextView tvText = (TextView) localView.findViewById(16908358); mTitle = (String)tvTitle.getText(); mText = (String)tvText.getText(); } catch (Exception e){ Log.e(TAG, "Error getting notification title/text: " + e); } 

¿Hay alguna manera alternativa (más confiable)? Podría "código de la mano" los identificadores de recursos para "populares" notificaciones como Gmail, SMS, etc, pero esto puede romperse en cualquier momento cuando las aplicaciones se actualizan. ¡Gracias!

  • Java.lang.OutOfMemoryError - BitmapFactory.decode (strPath)
  • Deshabilitar el botón al hacer clic
  • ¿Debería estar lleno el archivo xml del contenido de la copia de seguridad completa o no incluirlo en todos?
  • ¿Cómo crear un ContentProvider de Thread-safe?
  • Atributos de vista personalizada de Android que no funcionan después de cambiar a gradle
  • ¿Cómo depurar al ejecutar pruebas Robolectric en Android Studio?
  • SetColorFilter () roto en Android 4, trabajando en Android 5
  • El menú desplegable no está activo en el navegador de Android
  • Adb shell su funciona, pero la raíz adb no
  • 75 marcadores en el mapa -> pérdidas de memoria -> OutOfMemoryException
  • Ubuntu: Depuración de dispositivos Android
  • ¿Error de "Tratar de usar bitmap reciclado" de Android?
  • 2 Solutions collect form web for “Manera fiable de recuperar los detalles de StatusbarNotification (título, texto de notificación)”

    Con Android 4.4 (KitKat), API de nivel 19 puede utilizar Notification.extras attibute para obtener título de notificación, texto, ….

    http://gmariotti.blogspot.com/2013/11/notificationlistenerservice-and-kitkat.html

    Comprobar IDs de recursos es en realidad cómo TalkBack, el lector de pantalla de Android, analiza los tipos de notificación. Intenta cargar identificadores directamente desde varios paquetes.

    Consulte la fuente en Google Code para obtener un ejemplo completo. He aquí un fragmento:

     private static int ICON_GMAIL; private static boolean sHasLoadedIcons = false; private static void loadIcons(Context context) { ... ICON_GMAIL = loadIcon(context, "com.google.android.gm", "com.google.android.gm.R$drawable", "stat_notify_email"); sHasLoadedIcons = true; } public static NotificationType getNotificationTypeFromIcon(Context context, int icon) { if (!sHasLoadedIcons) { loadIcons(context); } ... if (icon == ICON_GMAIL) { return NotificationType.EMAIL; } } 
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.