android NotificationListenerService监听通知栏(qq 微信 短信)

来源:互联网 发布:u站淘宝 编辑:程序博客网 时间:2024/06/04 17:42

有些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"));

阅读全文
0 0