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

Android13下Appium自动化时Allow notifications弹窗不显示问题咨询

Android 13通知权限弹窗在Appium自动化中不显示的原因及解决方法

可能原因及对应解决方案

1. Appium启动参数自动拦截了通知权限请求

部分Appium配置参数会自动处理权限请求,在Android 13环境下可能默认拒绝了通知权限,直接跳过弹窗触发:

  • 检查配置中的autoGrantPermissions或autoAcceptAlerts参数,若设置为true,系统会自动处理包括通知在内的权限请求,不会弹出交互弹窗。
  • 解决:将autoGrantPermissions设为false,同时确保appium:autoAcceptAlerts也设置为false,让权限弹窗正常弹出供脚本处理。

2. Teardown重置操作未彻底清除通知权限状态

你在Teardown中仅清除应用数据和缓存,但Android 13的通知权限属于系统级特殊权限,清除应用数据不会重置其授权状态:

  • 若之前自动化运行时系统记录了通知权限的拒绝状态,后续启动应用时会直接沿用该状态,不再弹出权限弹窗。
  • 解决:在Teardown中添加专门重置通知权限的步骤,比如执行ADB命令:
    adb shell appops set com.your.package.name POST_NOTIFICATION default
    
    或者通过自动化操作打开应用的系统设置页面,手动重置通知权限选项。

3. Appium及驱动版本对Android 13兼容性不足

旧版本的Appium(低于1.22.0)或UiAutomator2驱动未适配Android 13新增的通知权限弹窗逻辑,无法正确触发或识别该弹窗:

  • 解决:升级Appium到最新稳定版本,同时更新UiAutomator2驱动至最新版,确保对Android 13权限机制的完整支持。

4. 自动化启动方式与手动启动存在差异

自动化通常通过包名直接启动应用(如adb shell am start),而手动启动是从系统Launcher点击图标进入,两种启动流程触发的权限检查逻辑不同:

  • 系统可能将自动化的直接启动判定为“非用户主动触发”,跳过通知权限弹窗的展示。
  • 解决:模拟手动启动流程:先启动系统Launcher,通过元素定位找到应用图标并点击启动,而非直接通过包名启动应用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 00:26:01