全网整合营销服务商

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

免费咨询热线: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 


相关文章: 如何高效利用200m空间完成建站?  如何自定义建站之星网站的导航菜单样式?  如何在Ubuntu系统下快速搭建WordPress个人网站?  移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?  重庆市网站制作公司,重庆招聘网站哪个好?  专业网站制作企业网站,如何制作一个企业网站,建设网站的基本步骤有哪些?  文字头像制作网站推荐软件,醒图能自动配文字吗?  如何选择网络建站服务器?高效建站必看指南  如何将凡科建站内容保存为本地文件?  如何在万网主机上快速搭建网站?  如何在Windows 2008云服务器安全搭建网站?  如何用IIS7快速搭建并优化网站站点?  英语简历制作免费网站推荐,如何将简历翻译成英文?  Swift中循环语句中的转移语句 break 和 continue  企业网站制作公司网页,推荐几家专业的天津网站制作公司?  如何在宝塔面板创建新站点?  移民网站制作流程,怎么看加拿大移民官网?  建站VPS推荐:2025年高性能服务器配置指南  C++时间戳转换成日期时间的步骤和示例代码  如何选择长沙网站建站模板?H5响应式与品牌定制哪个更优?  如何在Golang中实现微服务服务拆分_Golang微服务拆分与接口管理方法  黑客如何通过漏洞一步步攻陷网站服务器?  如何配置WinSCP新建站点的密钥验证步骤?  中山网站推广排名,中山信息港登录入口?  如何用好域名打造高点击率的自主建站?  简易网站制作视频教程,使用记事本编写一个简单的网页html文件?  沈阳制作网站公司排名,沈阳装饰协会官方网站?  外贸公司网站制作哪家好,maersk船公司官网?  建站主机如何选?高性价比方案全解析  建站之星CMS建站配置指南:模板选择与SEO优化技巧  高端建站三要素:定制模板、企业官网与响应式设计优化  建站之星如何实现PC+手机+微信网站五合一建站?  如何解决VPS建站LNMP环境配置常见问题?  北京网站制作公司哪家好一点,北京租房网站有哪些?  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  c++怎么编写动态链接库dll_c++ __declspec(dllexport)导出与调用【方法】  微信网站制作公司有哪些,民生银行办理公司开户怎么在微信网页上查询进度?  如何用景安虚拟主机手机版绑定域名建站?  如何快速搭建高效可靠的建站解决方案?  如何在云主机快速搭建网站站点?  怎么将XML数据可视化 D3.js加载XML  美食网站链接制作教程视频,哪个教做美食的网站比较专业点?  专业公司网站制作公司,用什么语言做企业网站比较好?  如何批量查询域名的建站时间记录?  香港服务器建站指南:免备案优势与SEO优化技巧全解析  北京的网站制作公司有哪些,哪个视频网站最好?  如何快速查询网站的真实建站时间?  关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)  学校为何禁止电信移动建设网站?  建站VPS配置与SEO优化指南:关键词排名提升策略 

您的项目需求

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