android NotificationListenerService監聽通知欄(qq 微信 短信)

有些app(例如qq)爲了讓app的通知欄看起來輕鬆。對自己的通知欄信息做了合併,這樣我們想要監聽app收到的所有通知必須從系統層面來想辦法了,NotificationListenerService  API 18;

1 services 

創建一個實現NotificationListenerService的服務,

如果只是監聽通知的顯示和取消只需要在服務裏重寫通知顯示監聽onNotificationPosted和通知移除onNotificationRemoved即可。

Manifest註冊

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

2 監聽通知欄是需要android系統授予權限的;

判斷是否授權:

 private boolean isNotificationServiceEnable() {
        return NotificationManagerCompat.getEnabledListenerPackages(this).contains(getPackageName());
  }

跳轉授權頁面:

startActivity(new Intent("android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS"));

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章