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

注册服务

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

android:name=".NotificationCollectorService"

android:label="@string/app_name"

android:permission="android.permission.BIND_NOTIFICATION_LISTENER_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"));

}

}

}

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

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

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

小编个人微信号 jb51ccc

喜欢与人分享编程技术与工作经验,欢迎加入编程之家官方交流群!

android 监听通知栏点击事件,android使用NotificationListenerService监听通知栏消息相关推荐

  1. jquery 监听td点击事件_安卓开发监听点击事件的一种方法

    本人是菜鸟一只,学习安卓纯属兴趣.没有真正上过编程课程,所有知识都是在网上获取的.今天分享的是监听点击事件的一个方法,这个方法的好处是代码较简洁. 如图,点击保存时,把上面的数据入库. 实现如下: 在 ...

  2. android 表格控件点击事件,Android零基础入门|RecyclerView点击事件处理

    原标题:Android零基础入门|RecyclerView点击事件处理 前面两期学习了RecyclerView的简单使用,并为其item添加了分割线.在实际运用中,无论是List还是Grid效果,基本 ...

  3. android重写返回按钮点击事件,Android Fragment监听返回键

    场景:在项目中做联系人界面时,需要按名字和按部门显示联系人,此处使用2个fragment切换显示,按部门显示需要体现部门层级关系,需要实现点击返回上级部门.因为Fragment并不能像在Actvity ...

  4. android通知栏的点击事件,Android监听消息通知栏点击事件

    Android监听消息通知栏点击事件 使用BroadCastReceiver 1 新建一个NotificationClickReceiver 类,并且在清单文件中注册!! public class N ...

  5. android通知栏显示,通知栏点击事件监听

    android通知是通过Notification来实现的,显示在通知栏,不管是系统通知还是本地通知都可以通过Notification显示在通知栏中. 通知显示参考:https://blog.csdn. ...

  6. android列表项点击事件,Android 开发 tips(2):监听 Listview 列表项点击事件

    Android 开发 tips(2):监听 Listview 列表项点击事件 (这篇和上篇本来是应该一起写的,但是太过冗长,附链接:[SimpleAdapter 在 Listview 中的应用] ht ...

  7. Android中按钮的点击事件的四种写法

    如题,在Android中按钮的点击事件有四种写法,如下图. 界面为四个Button+一个TextView+一个ImageView activity_main布局文件如下: <?xml versi ...

  8. textview点击事件 android,Android给TextView添加点击事件的实现方法

    首先设定TextView的clickable属性为true. 可以在布局文件中进行设定,比如: android:id="@+id/phone" android:clickable= ...

  9. Android 如何判断鼠标点击事件

    Android 如何判断鼠标点击事件 参考以下的文字 http://blog.csdn.net/shanghaibao123/article/details/49494039 http://blog. ...

  10. android include 点击事件,Android 多个include标签的监听事件处理

    include标签的作用是为了xml文件代码的模块化,详细不再多提.主要是说说include标签的监听. 网上也有很多例子,不过大多是只写了一个include标签的监听,如果需要实现多个include ...

最新文章

  1. fatal error: Python.h: No such file or directory 解决
  2. 数据结构和算法之——跳表
  3. idea 往 Github 上 push 失败
  4. Python数据分析pandas之分组统计透视表
  5. 【C++ Primer学习笔记】第2章:变量和基本类型
  6. 大数据技术 学习之旅_如何开始您的数据科学之旅?
  7. ubuntu高版本环境变量问题
  8. 经典排序算法(十五)--耐心排序Patience Sorting
  9. MySQL修改、删除存储过程和函数
  10. wxpython如何分开界面和运行代码_wxpython笔记:wxpython的界面布局方式(一)
  11. 查看字节码的插件jclasslib设置成英文
  12. 从底层看android5.0系统的启动过程
  13. Au入门系列之七:效果器
  14. 微软快捷键截图_如何在Microsoft Office的屏幕提示中显示快捷键
  15. pyhong爬虫——大众点评——用户信息
  16. 计算机设备2后符号,表情符号含义展示的方法及设备与流程
  17. 杂记-2018.04.09
  18. 2022数据库系统工程师 下午 试题三 真题答案
  19. opencl 核函数创建存储器对象以实现向量
  20. [转载]Eclipse开发工具简介

热门文章

  1. 使用JDK开发WebServrice案例
  2. jquery核心的学习进程一
  3. Navicat(连接) -1之Navicat Cloud
  4. 【转】Android 平台下使用 i2c-tools
  5. 理解数据库设计范式【转】
  6. 基于统计语言模型的分词方法
  7. HTK---语音识别实现应用的Kit
  8. 智能优化算法(源码)-飞蛾扑火优化算法(MFO)
  9. 车间调度建模系列5|扩展析取图之工序间物流周转时间
  10. OmegaXYZ知识图谱应用Github仓库(长期更新)