Android应用测试:能否通过adb命令禁用指定应用通知权限?
用ADB命令管理应用通知权限
你之前使用的adb shell cmd notification disallow_listener命令是用于管理通知监听器组件的,并非控制应用本身的全局通知权限,因此会出现Invalid listener - must be a ComponentName的报错。以下是针对不同Android版本,控制指定应用通知权限的有效ADB命令:
Android 13+(API 33及以上)
直接通过appops命令操作POST_NOTIFICATIONS权限:
- 禁用通知权限:
adb shell appops set <应用包名> POST_NOTIFICATIONS deny - 启用通知权限:
adb shell appops set <应用包名> POST_NOTIFICATIONS allow - 查看当前权限状态:
adb shell appops get <应用包名> POST_NOTIFICATIONS
Android 8.0-12(API 26-32)
此区间系统的通知权限对应POST_NOTIFICATION项(注意无末尾的S):
- 禁用:
adb shell appops set <应用包名> POST_NOTIFICATION deny - 启用:
adb shell appops set <应用包名> POST_NOTIFICATION allow
Android 7.1及以下
这类系统没有单独的通知权限开关,若需关闭应用通知,需先通过adb shell dumpsys notification找到应用的通知服务组件名,再执行禁用命令:
adb shell pm disable <应用包名>/<通知服务组件名>
验证权限生效状态
执行命令后,可通过以下命令确认权限是否修改成功:
adb shell dumpsys notification --check <应用包名>
内容的提问来源于stack exchange,提问作者Facundo Casaccio
相关产品推荐
相关产品推荐

