Android系统开发 控制设备通知功能--INotificationManager的使用

本文介绍了Android系统服务接口INotificationManager的使用,它用于访问和管理设备的通知功能。区别于应用层的NotificationManager和NotificationManagerCompat,INotificationManager在系统层面提供全局应用的通知控制,包括开启/关闭指定应用通知、查询通知状态、获取通知级别、查询全部通知数据和取消指定应用的所有通知。示例代码来源于mtkSettings项目,详细操作步骤和方法解析将陆续展开。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

  INotificationManager是一个系统服务接口,它提供了访问和管理 Android 系统中通知相关功能的方法。使用INotificationManager需要架framework包,另外应用需要系统签名。

另外,你可能会被NotificationManager 与 NotificationManagerCompat 误导。其实这2个是在应用开发中使用的通知管理服务,它们只支持当前开发应用的通知创建、通知权限查询、通知取消。 它们与INotificationManager有本质的区别。

  而INotificationManager的实现类是NotificationManagerService(路径:frameworks/base/services/core/java/com/android/server/notification/NotificationManagerService.java)。 利用INotificationManager可以在系统开发中控制设备全局的应用的通知显示开关状态、通知创建、全部通知查询、通知取消。

在Android10原生设置中INotificationManager的代码使用位置

  在具体了解INotificationManager的全部功能前,我们还是需要了解一下原生设置中INotificationManager的使用位置。我这里拿出来举例的是mtkSettings项目(联发科的Android原生设置),其他原生设置可能会有些细微不同。

  首先在com.android.settings.notification目录下,是设置处理通知相关类的全部目录。

  在NotificationSettingsBase这个类是管理通知设置的基本类,包含了一些通知设置的基本方法。而它实例并且持有了关键的NotificationBackend,如下图片:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值