You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android 14中授予/拒绝其他权限时FULL_SCREEN_NOTIFICATION权限被撤销

Android 14部分设备操作其他权限导致FULL_SCREEN_NOTIFICATION权限自动撤销

问题描述

我开发的Android应用依赖FULL_SCREEN_NOTIFICATION权限实现全屏闹钟通知,针对Android 14已完成运行时权限请求逻辑的开发。但在部分设备(如运行HyperOS的小米12 Lite、小米F4 GT)上出现异常:当授予或拒绝其他权限(如SYSTEM_ALERT_WINDOW、REQUEST_IGNORE_BATTERY_OPTIMIZATIONS)时,FULL_SCREEN_NOTIFICATION权限会被自动撤销,而三星A34等其他Android 14设备无此问题。

复现步骤

  1. 在Android 14(HyperOS)设备上安装应用
  2. 授予FULL_SCREEN_NOTIFICATION权限
  3. 请求并授予/拒绝另一项权限(如SYSTEM_ALERT_WINDOW)
  4. 检查权限状态,发现FULL_SCREEN_NOTIFICATION已被撤销

预期与实际行为

  • 预期:独立权限的操作互不影响,FULL_SCREEN_NOTIFICATION权限状态保持不变
  • 实际:部分设备上操作其他权限会导致该权限被自动撤销

环境信息

  • Android版本:14
  • 受影响设备:小米12 Lite、小米F4 GT(HyperOS)
  • 应用目标SDK版本:34

潜在原因分析

  1. 厂商定制ROM权限管理逻辑bug:小米HyperOS在处理权限请求/变更时,可能存在逻辑错误,将无关权限的操作错误关联,导致FULL_SCREEN_NOTIFICATION权限被误撤销。这类问题通常是厂商对Android原生权限框架的定制修改引入的异常。
  2. 权限组关联错误:部分厂商可能将FULL_SCREEN_NOTIFICATION与其他权限归为同一权限组,导致操作组内某一权限时,组内其他权限状态被意外修改。

解决方法与规避方案

  1. 权限状态校验与重新请求:在每次完成其他权限的请求操作后,立即调用checkSelfPermission(Manifest.permission.USE_FULL_SCREEN_INTENT)(Android 14中FULL_SCREEN_NOTIFICATION对应权限常量为Manifest.permission.USE_FULL_SCREEN_INTENT)检查权限状态,若已被撤销则重新发起权限请求。示例代码:
// 完成其他权限操作后执行
if (ContextCompat.checkSelfPermission(this, Manifest.permission.USE_FULL_SCREEN_INTENT) != PackageManager.PERMISSION_GRANTED) {
    ActivityResultContracts.RequestPermission()
        .launch(Manifest.permission.USE_FULL_SCREEN_INTENT)
}
  1. 直接跳转权限设置页:如果自动重新请求仍有问题,可以引导用户直接进入应用的权限设置页面,手动重新授予FULL_SCREEN_NOTIFICATION权限。示例代码:
val intent = Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS).apply {
    data = Uri.fromParts("package", packageName, null)
}
startActivity(intent)
  1. 向厂商反馈bug:整理复现步骤、设备信息和日志,通过小米官方渠道提交bug报告,推动厂商修复ROM层面的权限逻辑问题。
  2. 权限请求顺序调整:尝试调整权限请求的顺序,优先请求FULL_SCREEN_NOTIFICATION权限,再请求其他权限,观察是否能避免权限被撤销的问题。

补充说明

已确认应用自身权限逻辑无错误,且该问题仅出现在部分Android 14定制ROM设备上,未在原生Android或其他厂商设备中复现。

内容的提问来源于stack exchange,提问作者Hasan Mohammadi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 09:25:23