Autore Topic: Detect Notifications from an app  (Letto 394 volte)

Offline lillogoal

  • Utente normale
  • ***
  • Post: 167
  • Respect: +4
    • Google+
    • lillosogliani
    • Mostra profilo
    • LilloNet
  • Dispositivo Android:
    Galaxy s3, Nexus 7,galaxy s advance,galaxy scl
  • Play Store ID:
    Lillonet Inc.
  • Sistema operativo:
    Windows 8,7 & Kali-Linux
Detect Notifications from an app
« il: 10 Settembre 2014, 21:05:08 CEST »
0
Ciao a tutti,
non ho trovato molto materiale in giro su internet, io vorrei usare un listener per verificare se mi arriva una notifica da un applicazione, per esempio un messaggio o una chiamata persa, come potrei fare?
ho trovato su android developers questo:
https://developer.android.com/reference/android/service/notification/NotificationListenerService.html

oppure mi converrebbe usare que: http://developer.android.com/reference/android/view/accessibility/AccessibilityEvent.html
Chi non progetta la sicurezza , programma il fallimento! K.M

Offline GabMarioPower

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 606
  • Respect: +152
    • Github
    • Google+
    • gabrielemariotti
    • GabMarioPower
    • Mostra profilo
  • Play Store ID:
    GAB+MARIO+DEV
  • Sistema operativo:
    Ubuntu 14.04 , Win 10
Re:Detect Notifications from an app
« Risposta #1 il: 10 Settembre 2014, 21:17:48 CEST »
0
Il NotificationListenerService sarebbe magnifico... se non fosse >=4.3 con alcune funzioni (utilissime tra l'altro ) min 4.4.

L'AccessibilityEvent è usabile, ma fino ad un certo punto, e richiede una particolare attivazione che dal mio punto di vista è molto invasivo e non darei mai a nessuna app se non è diffusa su larga scala.

Chiedo scusa, perchè mi sto autolinkando (se è vietato mi auto-banno) , ma non ho il tempo ora di riscrivere il contenuto degli stessi.
Sul mio blog ho un esempio di come prendere le notifiche di Whatsapp(e Hangouts) con i 3 casi, spiegando i vari casi e i loro limiti.

AccessibilityEvent:
ONGOING DEV: How to write a DashClock Extension: Whatsapp Extension example

NotificationListenerService 4.3
ONGOING DEV: NotificationListenerService and a Whatsapp extension for Dashclock

NotificationListenerService 4.4
ONGOING DEV: NotificationListenerService and kitkat

Spero possa esserti utile per fare una valutazione complessiva.

Su tutto tieni conto che accedere alle notifiche non significa automaticamente accedere a tutti i dati della stessa notifica, soprattutto nei primi 2 casi.

Offline lillogoal

  • Utente normale
  • ***
  • Post: 167
  • Respect: +4
    • Google+
    • lillosogliani
    • Mostra profilo
    • LilloNet
  • Dispositivo Android:
    Galaxy s3, Nexus 7,galaxy s advance,galaxy scl
  • Play Store ID:
    Lillonet Inc.
  • Sistema operativo:
    Windows 8,7 & Kali-Linux
Re:Detect Notifications from an app
« Risposta #2 il: 10 Settembre 2014, 21:29:42 CEST »
0
Le informazioni che posso ottenere dalle notifiche quali sarebbero?

Post unito: 10 Settembre 2014, 21:38:00 CEST
Questo potrebbe servirmi? per ottenere il testo di un messaggio di una notifica?
Codice (Java): [Seleziona]
@Override
public void onAccessibilityEvent(AccessibilityEvent event) {
        Log.d("onAccessibilityEvent");
        if (event.getEventType() == AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED) {
            if (event.getParcelableData() instanceof Notification) {
                Notification notification = (Notification) event.getParcelableData();

                Log.d("ticker: " + notification.tickerText);
                Log.d("icon: " + notification.icon);
                Log.d("largeIcon: " + notification.largeIcon);

            }

            Log.d("notification: " + event.getText());
        }
    }
« Ultima modifica: 10 Settembre 2014, 21:38:00 CEST da lillogoal, Reason: Merged DoublePost »
Chi non progetta la sicurezza , programma il fallimento! K.M

Offline GabMarioPower

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 606
  • Respect: +152
    • Github
    • Google+
    • gabrielemariotti
    • GabMarioPower
    • Mostra profilo
  • Play Store ID:
    GAB+MARIO+DEV
  • Sistema operativo:
    Ubuntu 14.04 , Win 10
Re:Detect Notifications from an app
« Risposta #3 il: 10 Settembre 2014, 21:46:32 CEST »
0
La cosa migliore da fare è andare in debug sulle notifiche che ti interessano e vedi quali informazioni sono disponibili.

Offline lillogoal

  • Utente normale
  • ***
  • Post: 167
  • Respect: +4
    • Google+
    • lillosogliani
    • Mostra profilo
    • LilloNet
  • Dispositivo Android:
    Galaxy s3, Nexus 7,galaxy s advance,galaxy scl
  • Play Store ID:
    Lillonet Inc.
  • Sistema operativo:
    Windows 8,7 & Kali-Linux
Re:Detect Notifications from an app
« Risposta #4 il: 10 Settembre 2014, 21:53:30 CEST »
0
Giusto ottima idea, però ho visto che tu trattavi solo il numero dei messaggi, a me interessa il testo delle notifiche di whatsapp, hai mica un esempio per includere al mio progetto il service e il metodo che ho postato io nel commento precedente, in maniera tale da fare il debug?
Ti ringrazio ancora

Post unito: 11 Settembre 2014, 00:03:28 CEST
Allora: ottieni chi te lo ha mandato se è uno il messaggio singolo (penso) o forse anche con più ma penso da solo, poi il numero di conversazioni e il numero di messaggi
« Ultima modifica: 11 Settembre 2014, 00:03:28 CEST da lillogoal, Reason: Merged DoublePost »
Chi non progetta la sicurezza , programma il fallimento! K.M