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开发中,使用该方法捕获手机的通知,然后同步到手表中,就是使用该服务进行的中转

更多相关文章

  1. tcping测试服务器TCP端口
  2. onStartCommand 的返回值
  3. 极光推送服务集成指南(一)
  4. IPC框架分析 Binder,Service,Service manager
  5. Android实现微信自动抢红包的程序
  6. android service 例子(电话录音和获取系统当前时间)
  7. android 简单实现电话的监听
  8. getSystemService 的参数
  9. android 使用xmpp smack openfire实现即时通讯(一)

随机推荐

  1. Android(安卓)Gradle plugin升级 3.0.1
  2. android studio 3.0.1依赖butterknife报
  3. NDK Mediacodec
  4. Android(安卓)popupwindow 示例程序一
  5. android简单的多人聊天程序--借助Bmob后
  6. Android(安卓)使用Intent和Bundle传递数
  7. android listview item 被选中背景色设置
  8. 【Android】从无到有:手把手一步步教你自
  9. Android(安卓)蓝牙(九)A2DP基本功能
  10. Android(安卓)studio报错rg.gradle.api.t