抱歉,标题有点夸张;我找不到更简洁的方式来表达它。
在Android 13中,如果用户未授予“危险”的 POST_NOTIFICATION
权限,则前台服务通知不会显示在通知抽屉中。相反,为了让用户看到它,他们必须导航到新的前台服务任务管理器,根据文档:
如果用户拒绝通知权限,则仍然可以在前台服务(FGS)任务管理器中看到与这些前台服务相关的通知,但是不会在通知抽屉中看到。
我目前还没有使用过Android 13 Beta,所以我不知道当Foreground Services运行时FGS任务管理器会有多明显的提示,但我认为强制要求Foreground Services具有通知的整个意图是使用户知道应用正在运行。这甚至涉及到安全问题,因为Android使用危险权限限制后台与前台进程可以执行的操作(例如ACCESS_BACKGROUND_LOCATION
)。这种变化实质上允许应用程序在没有明确通知用户的情况下使用基于前台的权限。
那么,他们为什么决定限制Foreground Service通知呢?我的意思是,对于首次添加限制通知的讨论,还有其他完整的讨论。但人们可能认为,如果Android 强制 您使用通知,则不应该有绕过它的方法(即永远不请求POST_NOTIFICATION
权限,甚至只需编程删除权限)。
startForeground()
提供一个通知,但这个通知是否会呈现给用户(除了 FGS 任务管理器之外)? - user19309143