2013-05-26 7 views
20

Jak odczytać wszystkie nadchodzące powiadomienia w systemie Android. Czy możliwe jest użycie odbiornika transmisji do odsłuchiwania przychodzących powiadomień i możliwość odczytania informacji o powiadomieniach.Jak odczytać wszystkie nadchodzące powiadomienia w Androidzie

+0

Możesz zajrzeć do AccessibilityService, zobacz http://developer.android.com/training/accessibility/service.html#create lub http://stackoverflow.com/questions/14540394/ listen-to-incoming-whatsapp-messages-notifications –

Odpowiedz

17

Najpierw należy zadeklarować zamiar otrzymywania powiadomień w swoim manifeście, aby uzyskać pozwolenie na android.permission.BIND_NOTIFICATION_LISTENER_SERVICE.

AndroidManifest.xml:

<service android:name=".NotificationListener" 
     android:label="@string/service_name" 
     android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE"> 
    <intent-filter> 
     <action android:name="android.service.notification.NotificationListenerService" /> 
    </intent-filter> 
</service> 

Następnie należy utworzyć klasę NotificationListenerService i zastąpić funkcję onNotificationPosted.

Aby uzyskać więcej informacji, zapoznaj się odniesienie programisty tutaj: https://developer.android.com/reference/android/service/notification/NotificationListenerService.html

Również spojrzeć na tym prostym przykładzie aplikacji dla orientacji realizacji: https://github.com/kpbird/NotificationListenerService-Example/

+0

Uwaga: Działa to, ale nie działa w polu tekstowym Stacked Notifications. – user1406716

+2

Ten przykład nie działa dla mnie Mam pozwolenie na powiadomienie, ale wciąż nie pokazuje żadnej listy –

+0

Powiedz, czy jest to również możliwe w ten sposób, aby przekonwertować wszystkie powiadomienia na te, bez powiadomienia heads-up –

10

Korzystanie NotificationListenerService możemy łatwo odczytać powiadomienie wszystkich aplikacji. Sprawdź pełny kod demo: here