2016-04-08 93 views
1

是否有可能在android中以編程方式跟蹤推送通知?在Android中跟蹤推送通知

我的意思是說有可能通過某些事件或服務跟蹤出現在通知欄中的通知嗎?

我嘗試過使用AccessibilityService,但我一直無法使用TYPE_NOTIFICATION_STATUS_CHANGED事件來跟蹤它。

回答

1

這可以使用NotificationListenerService從API 18

工作示例來完成:

服務:

public class Test extends NotificationListenerService { 


    @Override 
    public void onNotificationRemoved(StatusBarNotification sbn) { 
     super.onNotificationRemoved(sbn); 

     //do your job 
    } 

    @Override 
    public void onNotificationPosted(StatusBarNotification sbn) { 
     super.onNotificationPosted(sbn); 

     //do your job 
    } 
} 

清單:

<service android:name=".Test" 
      android:label="Test" 
      android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE"> 
      <intent-filter> 
       <action android:name="android.service.notification.NotificationListenerService" /> 
      </intent-filter> 
     </service> 

爲了得到這個工作,您必須啓用可通過設置鏈接完成的服務:

Intent i=new Intent("android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS"); 
       startActivity(i); 
+0

因此onNotification posted()是當通知到達狀態欄時捕獲的事件嗎? – SoulRayder

+0

是的,但不要忘記在設置中啓用服務,正如我所說的。 – csenga

+0

如何獲取通知的確切文本? – SoulRayder