Android 如何使用ADB shell清除通知
我知道我可以解锁屏幕,拉下通知,然后按下清除通知按钮,但一定有办法通过Android 如何使用ADB shell清除通知,android,shell,adb,android-notifications,Android,Shell,Adb,Android Notifications,我知道我可以解锁屏幕,拉下通知,然后按下清除通知按钮,但一定有办法通过ADB清除通知,对吗?我猜是通过'am'命令发送的一些意图,或者更简单的东西,但我似乎在网上找不到任何东西。我得到的只是Java代码,可用于apk 编辑:我可能应该提到我运行的是4.3,有时不同版本的命令可能会有所不同。试试: adb shell service call notification 1 如果您知道设备的类型和Android版本,则可以使用ADB清除通知,而无需使用根设备 想法是下拉通知,然后逐个刷掉所有通知
ADB
清除通知,对吗?我猜是通过'am'命令发送的一些意图,或者更简单的东西,但我似乎在网上找不到任何东西。我得到的只是Java
代码,可用于apk
编辑:我可能应该提到我运行的是4.3,有时不同版本的命令可能会有所不同。试试:
adb shell service call notification 1
如果您知道设备的类型和Android版本,则可以使用ADB清除通知,而无需使用根设备
想法是下拉通知,然后逐个刷掉所有通知
下拉:
adb shell input swipe 0 0 0 300
刷走:
adb shell input swipe 0 400 300 400
值得一提的是,(x,y)在不同类型的设备和安卓版本之间有所不同。您需要通过多次检查来确定什么是最适合您的x,y
全文
更多详细信息可在此处找到:$adb外壳服务调用通知1结果:包裹(FFFFFFF C ffffffff’……您需要root用户才能使用服务
命令。除此之外,它应该在4.3中起作用。没问题,谢谢,接受答案。我没有在根目录下重新启动设备,而是使用su-c:adb shell su-c服务调用通知1@MishaP:可能只是我,但我认为您必须将服务呼叫通知1
用引号括起来,才能使su-c
起作用。我尝试过,但在我的情况下,它不起作用,因为并非所有通知都可以取消,例如首次启动设备时可能出现的Android向导通知。见:
adb shell input swipe 0 0 0 300
num=$(adb shell dumpsys notification | grep NotificationRecord | wc -l)
echo $num
while [ $num -gt 0 ]; do
adb shell input swipe 0 400 300 400
num=$(( $num - 1 ))
done