全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

android使用NotificationListenerService监听通知栏消息

NotificationListenerService是通过系统调起的服务,在应用发起通知时,系统会将通知的应用,动作和信息回调给NotificationListenerService。但使用之前需要引导用户进行授权。使用NotificationListenerService一般需要下面三个步骤。

注册服务

首先需要在AndroidManifest.xml对service进行注册。

<service
  android:name=".NotificationCollectorService"
  android:label="@string/app_name"
  android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE">
  <intent-filter>
    <action android:name="android.service.notification.NotificationListenerService" />
  </intent-filter>
</service>

继承实现NotificationListenerService

自己实现一个继承NotificationListenerService的service,在onNotificationPosted中完成自己需要的操作。

public class NotificationCollectorService extends NotificationListenerService {
  @Override
  public void onNotificationPosted(StatusBarNotification sbn) {
    Log.i("xiaolong", "open" + "-----" + sbn.getPackageName());
    Log.i("xiaolong", "open" + "------" + sbn.getNotification().tickerText);
    Log.i("xiaolong", "open" + "-----" + sbn.getNotification().extras.get("android.title"));
    Log.i("xiaolong", "open" + "-----" + sbn.getNotification().extras.get("android.text"));
  }

  @Override
  public void onNotificationRemoved(StatusBarNotification sbn) {
    Log.i("xiaolong", "remove" + "-----" + sbn.getPackageName());

  }
}

引导用户进行授权

由于此服务需要用户手动进行授权,所以使用前需要对用户进行引导设置。

public class MainActivity extends AppCompatActivity {

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    String string = Settings.Secure.getString(getContentResolver(),
        "enabled_notification_listeners");
    if (!string.contains(NotificationCollectorService.class.getName())) {
      startActivity(new Intent(
          "android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS"));
    }
  }
}

用户授权后就可以对通知栏的所有信息进行监听了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# android监听notification  # android  # NotificationListenerService  # NotificationListenerService监听  # Android中通过Notification&NotificationManager实现消息通知  # Android编程实现google消息通知功能示例  # Android之开发消息通知栏  # Android消息通知栏的实现方法介绍  # Android自定义Notification添加点击事件  # Android中AlarmManager+Notification实现定时通知提醒功能  # Android 中Notification弹出通知实现代码  # Android编程使用Service实现Notification定时发送功能示例  # Android 通知使用权(NotificationListenerService)的使用  # Android消息通知Notification常用方法(发送消息和接收消息)  # 就可  # 会将  # 于此  # 以对  # 回调  # 大家多多  # notification  # onNotificationPosted  # action  # gt  # intent  # filter  # java  # StatusBarNotification  # sbn  # Log  # void  # public  # extends  # Override 


相关文章: 建站之星与建站宝盒如何选择最佳方案?  沈阳制作网站公司排名,沈阳装饰协会官方网站?  专业网站设计制作公司,如何制作一个企业网站,建设网站的基本步骤有哪些?  如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?  如何做网站制作流程,*游戏网站怎么搭建?  如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南  盘锦网站制作公司,盘锦大洼有多少5G网站?  山东云建站价格为何差异显著?  Android自定义控件实现温度旋转按钮效果  建站之星如何一键生成手机站?  大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?  西安大型网站制作公司,西安招聘网站最好的是哪个?  小捣蛋自助建站系统:数据分析与安全设置双核驱动网站优化  建站中国官网:模板定制+SEO优化+建站流程一站式指南  建站主机与虚拟主机有何区别?如何选择最优方案?  制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?  如何通过西部建站助手安装IIS服务器?  python的本地网站制作,如何创建本地站点?  小自动建站系统:AI智能生成+拖拽模板,多端适配一键搭建  建站之星官网登录失败?如何快速解决?  建站10G流量真的够用吗?如何应对访问高峰?  如何在宝塔面板中修改默认建站目录?  湖北网站制作公司有哪些,湖北清能集团官网?  黑客入侵网站服务器的常见手法有哪些?  如何正确选择百度移动适配建站域名?  网站制作的方法有哪些,如何将自己制作的网站发布到网上?  网站插件制作软件免费下载,网页视频怎么下到本地插件?  建站之星在线客服如何快速接入解答?  南平网站制作公司,2025年南平市事业单位报名时间?  如何在阿里云服务器自主搭建网站?  厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?  网站制作大概要多少钱一个,做一个平台网站大概多少钱?  GML (Geography Markup Language)是什么,它如何用XML来表示地理空间信息?  如何在腾讯云免费申请建站?  网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?  制作销售网站教学视频,销售网站有哪些?  如何通过智能用户系统一键生成高效建站方案?  建站之星ASP如何实现CMS高效搭建与安全管理?  c# 在高并发场景下,委托和接口调用的性能对比  打鱼网站制作软件,波克捕鱼官方号怎么注册?  如何快速搭建安全的FTP站点?  建站之星会员如何解锁更多建站功能?  linux top下的 minerd 木马清除方法  如何用好域名打造高点击率的自主建站?  如何快速上传自定义模板至建站之星?  上海网站制作网站建设公司,建筑电工证网上查询系统入口?  如何获取免费开源的自助建站系统源码?  微网站制作教程,不会写代码,不会编程,怎么样建自己的网站?  电商网站制作价格怎么算,网上拍卖流程以及规则?  大连网站设计制作招聘信息,大连投诉网站有哪些? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。