主页(http://www.175shouji.com):如何在AndroidO中隐藏后台应用程序的持久通知
Android O希望对大家都知道和喜爱的Android OS进行重大改进。适用于电话,通知通道,智能文本选择,自动填充服务的画中画模式,并且在引擎盖下进行了许多更改,以延长电池寿命,性能和安全性。可以帮助用户解决电池寿命和性能问题的一项功能是后台处理限制。无需太多细节,Android O中的应用程序就无法再从其清单注册的隐式广播接收器中唤醒,并且它们也无需启动JobScheduler就无法启动后台服务。如果应用程序要启动后台服务,则必须通过发布通知来明确告知用户它正在这样做。但是,当应用在后台运行时,Android O现在似乎可以启动 另一个持续性通知会告诉您正在运行哪些应用程序。当具有SYSTEM_ALERT_WINDOW权限的应用程序(例如流行的Twilight应用程序)当前正在显示覆盖图时,也会发生这种情况。
将您下载的ZIP文件的内容提取到PC上一个易于访问的文件夹中(例如在Downloads文件夹中)。
返回“设置”主菜单,然后输入“开发人员选项”,以便您可以启用USB调试模式。
现在执行以下命令: cmd appops set android POST_NOTIFICATION ignore
在您的PC上,浏览至您提取ADB二进制文件的目录。
您不会收到成功消息或其他任何信息,但是只要您没有看到错误,它就应该起作用。现在,只需重启手机!
尽管这是我们采取的一项非常严厉的措施,但它是目前隐藏该通知的唯一方法,除了植根您的手机和修改框架本身之外,这显然是许多用户都不愿或无法做到的事情。我衷心希望Google提供一种在将来的Android O版本中隐藏此通知的方法,甚至更好地将其完全删除。可以理解的是,Google希望通过在用户可能不知道的后台运行某个应用程序时通知用户来改善用户体验,但是对于那些知道我们正在使用的每个应用程序的人来说,他们选择的方法很烦人。
下载 适用于您的特定操作系统(Windows, Mac, Linux)的 ADB二进制文件。这些链接将始终指向二进制文件的最新版本,因此您不必在网上寻找最新的二进制文件。
使用适用于Android的面向用户的权限管理系统App Ops的隐藏命令行界面,我们可以从“ android”包中限制POST_NOTIFICATION权限。(注意:我们将其设置为“ ignore”而不是“ deny”,因为“ deny”可能会导致一些错误。)我通过查看AppOpsManager的相关源代码找到了此权限,该源代码列出了所有可能的权限。已授予/已撤消,其中许多在Android设置中无法访问。“ android”包实际上是指“ Android System” AKA framework-res.apk,它负责我们试图摆脱的持久性通知。
现在,从步骤10重新运行adb devices命令,命令提示符/终端将打印设备的序列号。如果是这样,那么您就可以继续。如果不是,则USB驱动程序可能未正确安装。
返回命令提示符并输入以下命令: adb shell
找到内部版本号并点击7次以启用开发人员模式。启用后,您会看到一个弹出窗口。
尽管默认情况下将这些通知最小化,但它们不能被用户撤消或在“设置”中永久阻止。这种行为对许多用户而言非常烦人,我非常希望Google为我们提供一种在最终的Android O / Android 8.0版本中禁用此通知的方法。但是,如果他们不这样做,还有 就是仍然有办法永久隐藏持久后台应用的通知。我将在分步指南中展示如何执行此操作,然后解释其工作方式以及重要的警告。
进入命令提示符或终端环境后,输入以下命令: adb devices
如果您使用的是Windows,请为您的特定手机安装USB驱动程序(可在此处找到)。
如果要还原此命令,请在命令提示符下输入: cmd appops set android POST_NOTIFICATION allow
转到手机上的“设置”应用,然后点击“关于手机”选项。
在此ADB目录中启动命令提示符/终端。对于Windows用户,可以通过Shift +右键单击然后选择“在此处打开命令提示符”选项来完成。
将手机插入PC并向下滑动通知面板,即可将USB模式从“仅充电”更改为“文件传输(MTP)”模式。您的手机可能不需要这样做。
在Android O中隐藏持久性通知
这将启动ADB守护程序。如果这是您第一次运行ADB,您还将在电话上看到提示,要求您授权连接。
这个怎么运作
通过实质上撤消Android系统的POST_NOTIFICATION权限,它不再显示通知!听起来很简单,对吧?不幸的是,有一些警告需要注意。“ Android系统”不仅负责此通知,因此将不再显示其可能发布的任何其他通知。这可能包括USB模式通知(仍可以通过“开发人员选项”中的设置进行更改)以及其他一些内容。