1.概述
在12.0的产品开发中最近公司项目要求 屏蔽系统所有通知 不需要在下拉状态栏显示通知功能实现
要控制系统通知的开关功能,需要屏蔽系统通知,而系统通知都是由NoticationManagerServices.java来管理的,
这个NMS服务管理通知就需要在NotificationManagerService.java 来实现需求文章来源:https://www.toymoban.com/news/detail-460917.html
2.屏蔽系统所有通知的核心代码分析
frameworks/base/services/core/java/com/android/server/notification/NotificationManagerService.java
3.屏蔽系统所有通知的核心代码功能分析和实现
在系统中,处理通知主要都是NotificationManagerService.java,接下来分析下NMS源码:
NMS服务也是在systemserver进程中启动的,然后在onStart()中初始化关于通知管理类的相关功能,所以先来看onStart的相关方法文章来源地址https://www.toymoban.com/news/detail-460917.html
@Override
public void onStart() {
SnoozeHelper snoozeHelper = new SnoozeHelper(getContext(), new SnoozeHelper.Callback() {
@Override
public void repost(int userId, NotificationRecord r) {
try {
if (DBG) {
Slog.d(TAG, "Reposting " + r.getKey());
}
enqueueNotificationInternal(r.sbn.getPackageName(), r.sbn.getOpPkg(),
r.sbn.getUid(), r.sbn.getInitialPid(), r.sbn.getTag(), r.sbn.getId(),
r.sbn.getNo
到了这里,关于android 12.0 屏蔽系统所有通知的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!