Écouter les messages/notifications WhatsApp entrants

je travaille sur une application basée sur la notification, pour laquelle j'ai besoin d'écouter les notifications entrantes. J'ai pu écouter les appels entrants, SMS, courrier etc. Je n'ai aucune idée de comment écouter les pings ou les messages d'amis sur Whatsapp via le code. Cela peut-il être fait? Si oui, comment? Peut d'Accessibilité des Services être utilisé pour cela, à l'aide de Nom du Package "com.whatsapp"?

24
demandé sur Stephen Kennedy 2013-01-26 22:55:49

5 réponses

j'ai pu le faire en utilisant Accessibility Service . En utilisant ceci, vous pouvez écouter toutes les notifications sur la barre de notification. J'ai écouté l'application-Spécification en ajoutant le nom du paquet au Service D'accessibilité service info , qui dans ce cas était com.whatsapp . Je n'ai pas pu lire les messages, mais je suis prévenu chaque fois qu'un message arrive.

19
répondu sanjeev mk 2013-02-16 06:53:22

Oui

vous pouvez réellement analyser les notifications entrantes et les messages depuis Android 4.2. J'ai fait ça: https://github.com/Snirpo/whatsapprelay . Cela se fait avec un accessibilityservice. Actuellement, il analyse les messages d'un certain groupe WhatsApp. Mais il peut être adapté pour analyser tous les messages. Envoyer des messages à travers WhatsApp est malheureusement plus difficile.

9
répondu user2252051 2013-04-06 11:19:44

à moins que les développeurs de cette application partagent intentionnellement un service , un fournisseur de contenu, ou d'envoyer intentionnellement des émissions publiques d'événements, ou d'exposer un système personnalisé d'enregistrement de Diffusion, il n'y a aucun moyen légitime dans android pour écouter les rouages internes d'une application tierce. App isolation est conçu sur Android pour une raison très importante: sécurité .

5
répondu S.D. 2013-08-04 18:38:18

les événements D'accessibilité ne prennent en compte que les événements de notification entrants, et non pas lorsqu'ils sont mis à jour. Pour l'instant, les notifications WhatsApp n'affichent pas le message, seulement l'expéditeur. Le message est ensuite ajouté par L'application WhatsApp avec une mise à jour, qui ne peut pas être saisi par le service d'accessibilité.

vous aurez seulement quelque chose comme "1 nouveau message de XXX", mais cela peut être suffisant pour vos besoins.

3
répondu Nicolas LUCAS 2013-02-19 09:18:20

voir ci-dessous exemple de notification whatsapp:

public class Notifier extends AccessibilityService {


@Override
public void onCreate(){
    //Toast.makeText(this,"Oncreate", Toast.LENGTH_LONG).show();

}

@Override
protected void onServiceConnected() {
    // Set the type of events that this service wants to listen to.  Others
    // won't be passed to this service.
    Toast.makeText(this,"Service connected", Toast.LENGTH_LONG).show();
    AccessibilityServiceInfo info = new AccessibilityServiceInfo();
    info.feedbackType = AccessibilityServiceInfo.FEEDBACK_ALL_MASK;;
    info.eventTypes = AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED ;

    // If you only want this service to work with specific applications, set their
    // package names here.  Otherwise, when the service is activated, it will listen
    // to events from all applications.
    info.packageNames = new String[] {"com.whatsapp"};
    info.notificationTimeout = 100;

    setServiceInfo(info);

}

@Override
public void onAccessibilityEvent(AccessibilityEvent event) {

    if(event.getEventType() == AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED) {

            Toast.makeText(this,"Notification Catched", Toast.LENGTH_LONG).show();
        }

    }
}

et n'oubliez pas de définir la permission des paramètres>accessibilité afin d'accéder aux événements du système. Permettre l'autorisation de paramètres .

vérifier ce lien

le service d'accessibilité n'a pas commencé

1
répondu Marcel Verwey 2017-12-22 06:35:17