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小时内与您取得联系。