关闭“登录到WiFi网络”通知的振动


17

自从Nexus 5上的Android 6.0更新以来,每次我收到“登录WiFi网络”通知时,手机都会振动。有什么想法可以在保持通话,短信,WhatsApp消息等振动的同时关闭该功能吗?


4
我正遭受着同样的问题。我进行了广泛搜索,这似乎是v6.0的一个新问题。非常非常烦人。
dbasch

1
以下建议的修复都不适合我。我将优先模式用于其预期用途(例如,当我忙或睡觉时);我不希望手机一直处于优先模式。而且其他修复程序似乎都没有真正起作用(Andrew T的回答似乎表明了原因)。是否有针对根植ROM的修复程序?涉及Xposed模块?它将在更高版本的Android中修复吗?
znt

Answers:


6

有一种解决方法涉及“ 请勿打扰”的“仅优先级”模式。

简而言之,您必须使用“ 优先级”(来自“ 快速设置 -请勿打扰”),因为它具有按应用设置的通知警报,可以覆盖系统的默认设置。仅优先级模式仍将显示所有通知。但是,只会发出优先通知(声音,振动和LED灯)。

这个想法是将所有通知作为优先级处理(从“设置”-“声音和通知”-“应用程序通知”-“ [应用名称]-作为优先处理”),但强制门户通知除外,该通知位于Android System应用程序下(默认情况下,系统应用程序未列出)您需要在溢出菜单中勾选显示系统。将此应用设置为非优先级,但不要忘记其余的系统应用。

但是,在使用此替代方法之前,您可能首先要考虑一些缺点:

  1. 您牺牲了“仅优先级”模式的预期用法,仅将“完全静音”作为唯一选项(但是,如果您从未打算使用此功能,那么您很幸运,因为可以使用它)。
  2. 如果您安装了许多应用程序,那么将所有应用程序都设置为将其通知作为优先级是很麻烦的(也许脚本可能会帮助您...)。另外,每次安装新应用时,都不要忘记将其通知作为优先事项(除非您不在乎其警报)。
  3. 您不会收到来自Android System的所有通知的任何警报(您需要尝试一下,因为我不知道Android System考虑了哪些通知)。

5

TL; DR

如果您仍然希望除强制门户网站(此特定问题)之外的所有通知上都有些动摇,恐怕您不能这样做

就像评论中提到dbasch一样,棉花糖中添加了振动(实际上是通知警报本身)。


技术细节

如您已经注意到的那样,当Android检测到WiFi需要登录到强制门户时,它将创建一条通知。它由中的setProvNotificationVisibleIntent()功能完成ConnectivityService

显示或隐藏网络配置通知。

我们使用通知有两个目的:通知网络需要登录(NotificationType.SIGN_IN),或通知网络无法访问Internet(NotificationType.NO_INTERNET)。我们每个ID最多显示一个通知,因此在特定网络上,我们可以显示最近请求的通知类型。因此,例如,如果强制门户在连接后几秒钟内未能回复,我们可能会先显示NO_INTERNET,然后在强制门户检查完成后显示 SIGN_IN

Android 6.0棉花糖中使用的通知警报的相关代码:

Notification notification = new Notification.Builder(mContext)
    ...
    .setDefaults(Notification.DEFAULT_ALL)
    ...

请注意,这Notification.DEFAULT_ALL将“ 使用所有默认值(如果适用) ”,这意味着它取决于系统的通知设置(声音,振动和LED指示灯)。

Android 5.x Lollipop中的代码相比,代码为:

Notification notification = new Notification();
...

不多不少。那是相关的代码。new Notification()将“ 使用默认值构造一个Notification对象 ”。尽管含义似乎没有变化,但是请注意,defaults它没有设置/初始化为 Notification.DEFAULT_ALL(值:-1)。相反,由于没有初始化,因此它将默认设置为0,这不是alert

我不知道这是否是被棉花糖修复的Google忽略的错误。同样,这就是为什么Android Lollipop中没有警报,而现在Android Marshmallow中没有警报的原因。


“你不能”。我敢打赌,您可以使用Xposed模块(或者至少可以通过一些初步阅读使我想到这一点),尽管可能必须自己编写……
znt

1

我发现摆脱烦人的振动的唯一方法是完全禁用“可用wifi”通知。为此,请转到设置-> wifi->点击三个垂直点->转到“高级设置”,然后禁用可公开访问的wifi网络的通知。等待修复,我认为这是唯一的解决方案,并且禁用它们也算是一件很不错的事情,我一直认为它们没用。


3
感谢您的回答。这似乎不起作用,但是即使关闭“网络通知”选项,它仍然会显示通知并振动。
丽兹

1
此修复程序也不适用于我的Nexus 5。
dbasch

我曾在Moto X Pure上尝试过此操作,但在那儿也无法正常工作。
Nat Kuhn

我的Moto E第二代也不行
安迪·克拉克

1

设置>应用> Google连接服务>通知>阻止将其完全关闭。


谢谢,(假设这可行)!现在,我只需要一种方法来记住他们修复它时就将其阻止了……
Nat Kuhn

可悲的是,这种假设是不正确的……不适用于我的Moto X Pure
Nat Kuhn

0

该通知由Android系统(android)启动。您可以使用appops拒绝Android系统在任何情况下振动设备的权限。前提是您已经在PC中设置了,请执行以下操作:

adb shell appops set android VIBRATE deny

尝试连接到没有互联网的Wi-Fi。您仍然会收到该通知,但不会产生任何振动。如果您还打算隐藏该通知,则可以按照此处或在此网站上发布的其余答案进行操作。

要还原更改,请执行以下操作:

adb shell appops set android VIBRATE allow

拨号振动由Dialer应用程序启动,对于SMS,它将是您的默认SMS应用程序,对于WhatsApp消息,它将是同一应用程序,因此不会受到影响。我可能不知道该命令可能会产生无法预料的后果,因此请通过注释让我知道它们。

注意: 此解决方案已在非官方的CM13版本上进行了测试。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.