gpt4 book ai didi

android - 在显示之前处理状态栏通知

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:09:07 24 4
gpt4 key购买 nike

我正在使用 NotificationListenerService 来处理设备通知:

@Override
public void onNotificationPosted(StatusBarNotification sbn) {

Log.d(TAG,"onNotificationPosted posted - ID :" + sbn.getId() + "\t"
+ sbn.getNotification().tickerText + "\t" + sbn.getPackageName());
}

onNotificationPosted() 方法在通知发布到设备后被调用。有没有办法在它出现之前捕获它?

我看到阅读通知也可以使用 AccessibilityManager 实现但在通知弹出后再次读取。

有没有办法将设备通知弹出窗口延迟到某个时刻?

我知道我可以使用 NotificationListenerService 删除通知(在它弹出给用户之后)并保存并稍后尝试重新启动它。但是我在重新启动时遇到问题,并且在状态栏通知已经显示后再次发生这种情况。

最佳答案

目前,使用NotificationListenerService 是接收StatusBarNotifications 通知并与之交互的唯一方式。在通知到达状态栏之前拦截和处理通知是不允许的,这将代表相当明显的安全违规行为——这也在此处得到确认:https://stackoverflow.com/questions/10286087/intercepting-notifications .

如果这是可能的,那么一个应用程序理论上可以在系统范围内阻止所有其他应用程序的所有通知,这不是一件好事。此外,即使使用 NotificationListenerService,您也可能只会看到来自其他应用程序的通知,而不会更改或删除它们。修改/取消应用程序通知的方法,即 cancelAllNotifications(),仅用于更改调用应用程序生成的通知。

关于android - 在显示之前处理状态栏通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29877300/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com