android - 即使应用程序在前台运行,onNotificationPosted 方法也不会被调用
问题描述
我正在做一个应用程序,我将在其中捕获所有通知并将其保存在我的应用程序中。我正在使用BIND_NOTIFICATION_LISTENER_SERVICE
服务,并且我创建了一个扩展NotificationListenerService
该服务的类。
我已经在Manifest
文件中指定了必要的权限和服务。
我已经在 NotificationListener 服务类return START_STICKY
的函数中指定了。onStartCommand()
问题:(设备 - Redmi Note 5 Pro)
onNotificationPosted()
功能仅在安装后 10 到 15 分钟有效。15 分钟后,当我关闭并再次打开它时,即使应用程序在屏幕上打开(前景),onNotificationPosted()
在接收通知时也不会被调用。我尝试手动触发服务,当我这样做时,onStartCommand()
被调用但onNotificationPosted()
之后也不起作用。
我检查了服务运行列表,并在列表中找到了我的应用程序包名称。因此,服务已启动并正在运行,但没有按预期运行。
onNotificationPosted()
至少在手动触发通知后,应在接收通知时调用预期行为。
我可以理解android会在后台运行时终止服务以提高性能。为什么即使应用程序在前台它也不起作用。如果我做错了什么,请纠正我。
感谢您的时间..(:
解决方案
推荐阅读
- jsp - 为什么jsp
在我的html中添加了16个额外的标签? - javascript - 用户上传的firestore查询
- rabbitmq - 将 RabbitMQ 与动态队列和持久消息一起使用时的性能
- android - 如何使 PopupWindow 在背景触摸时不关闭,并且仍然能够在其 TextView 中输入文本
- aws-cli - 描述读取变量的自动缩放组
- android - 在画布上绘图时路径弧比直线弧粗
- dart - Flutter 有类似 Redux 的东西吗?
- excel - 使用任务计划程序在 Excel 中运行 selenium vba 宏时,如何修复“运行时错误 429:ActiveX 组件无法创建对象”错误?
- c# - 有没有一种最有效的方法可以在 C# 中读取/写入最多 10GB 的二进制文件?
- expect - 在期望脚本中循环以发送多个发送命令