2015-05-31 2 views
2

я строю приложение, которое работает на той же идее, как это один -NotificationListenerService - получить WhatsApp сообщений текста для -4.4

https://play.google.com/store/apps/details?id=com.stallware.dashdow.whatsapp.lite

  • когда уведомление WhatsApp приходят, что-то делать с текстом уведомления - например, в этом приложении, когда приходит уведомление, NLSerivce создает пузырь с именем и контентом контакта,

Мой вопрос: как я могу получить эти данные? есть нуль в «sbn.getNotification() tickerText», я нашел решение для 4.4 и выше,:

TITLE = (String) sbn.getNotification().extras.getCharSequence(Notification.EXTRA_TITLE); 
TEXT = (String) sbn.getNotification().extras.getCharSequence(Notification.EXTRA_TEXT); 

дает мне всю информацию, мне нужно, но «Extras» требует апи 19 + (KitKat ..), но мне нужна эта информация для более старых версий, таких как 4.3 ..

что мне не хватает? каков другой способ анализа данных?

  • другой вопрос (такая же идея ..), как я могу использовать сервис доступности для Android 4.0 - 4.3? Мне нужно знать, когда уведомление удаляется из панели уведомлений и я не мог понять, как я могу знать, когда с помощью AS ..

из информации Dashdow Что App -

«для устройств с Android 4.3 или выше мы используем услугу доступа к уведомлению, которую вы должны активировать. Устройства с 4.0 или более поздними версиями должны будут включить службу доступности в системе ».

любая идея? спасибо заранее

ответ

0

Попробуйте это:

CharSequence[] lines = 
extras.getCharSequenceArray(Notification.EXTRA_TEXT_LINES); 
if(lines != null && lines.length > 0) { 
    StringBuilder sb = new StringBuilder(); 
    for (CharSequence msg : lines) 
     if (!TextUtils.isEmpty(msg)) { 
     sb.append(msg.toString()); 
     sb.append('\n'); 
     } 
    return sb.toString().trim(); 
} 
CharSequence chars = 
extras.getCharSequence(Notification.EXTRA_BIG_TEXT); 
if(!TextUtils.isEmpty(chars)) 
    return chars.toString(); 
Смежные вопросы