Android 14 适配之 - 全屏 intent 通知

全屏 intent 通知

在 Android 11(API 级别 30)中,任何应用都可以在手机处于锁定状态时使用 Notification.Builder.setFullScreenIntent 发送全屏 intent。在 AndroidManifest 中声明 USE_FULL_SCREEN_INTENT 权限即可;

全屏 intent 通知 使用场景是 :需要用户立即注意的高优先级通知,例如用户来电或闹钟设置。

Android 14 及之后变化,对于以 Android 14(API 级别 34)或更高版本为目标的应用,为获准使用此权限的App提供仅限于通话和闹钟两种。对于不适合此场景的任何应用,Google Play 商店会撤消其默认的 USE_FULL_SCREEN_INTENT 权限。变更政策的截止日期为 2024 年 5 月 31 日

对于在用户更新到 Android 14 之前,在手机上已经安装的应用仍拥有此权限,用户可在设置里开启和关闭此权限。

在Android 14 及之后可使用 API NotificationManager.canUseFullScreenIntent 检查App是否具有该权限;如果没有,使用intent ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT 启动设置页面,以此授予权限。

相关推荐
alexhilton7 小时前
将应用迁移到Navigation 3:痛点、加班和紧急修复
android·kotlin·android jetpack
karry_k12 小时前
MyBatis批量insert-select踩坑:useGeneratedKeys=true 可能让PostgreSQL返回大量插入结果
java·后端
karry_k12 小时前
PostgreSQL 在 MyBatis 中执行正常 SQL 失效:一次 DELETE USING 踩坑记录
java·后端
杉氧13 小时前
Navigation Compose 深度实践:如何优雅地串联起你的全栈 App?
android·架构·android jetpack
唐青枫15 小时前
Kotlin 运算符重载详解:为什么 a += b 有时改对象,有时换对象?
kotlin
SamDeepThinking16 小时前
从源码到代码:MyBatis-Flex 与 MyBatis-Plus 的逐项对比
java·后端·程序员
雨白16 小时前
指针与数组的核心机制
android
她的男孩18 小时前
Spring Boot 接 Flowable 工作流:用 3 个注解搭一个请假审批流程
java·后端·架构
一粒代码19 小时前
告别手动打包:Android AAB 构建签名 + ProGuard 规则 + CI/CD 自动化实战
gradle
荣码20 小时前
LLM结构化输出:让AI返回JSON而不是废话,我踩了4个坑
java·python