首页 > 代码库 > Android 通过系统使用NotificationListenerService 监听各种Notification的使用方法
Android 通过系统使用NotificationListenerService 监听各种Notification的使用方法
NotificationListenerService是通过系统调起的服务,当有应用发起通知的时候,系统会将通知的动作和信息回调给NotificationListenerService。
在继承NotificationListenerService服务实现自己逻辑之前,需要在配置文件中添加如下代码,获取权限。
<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>
这样,在系统设置中就能找到开启该服务的开关,以miui为例,在设置--安全与隐私--通知读取权限
该服务中有以下两个抽象方法,是需要开发者在使用该服务的时候实现的。
public class NotificationCollectorService extends NotificationListenerService { @Override public void onNotificationPosted(StatusBarNotification sbn) { Log.i("zpf", "open"+"-----"+sbn.toString()); } @Override public void onNotificationRemoved(StatusBarNotification sbn) { Log.i("zpf", "shut"+"-----"+sbn.toString()); } }也就是说当系统发现某应用产生通知或者用户删除某通知,都会回调该服务的这两个函数,函数的参数StatusBarNotification包含着该通知的具体信息。
如果是在Android Wear开发中,使用该方法捕获手机的通知,然后同步到手表中,就是使用该服务进行的中转
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。