如何在Android上以编程方式禁用“无线紧急警报”?

5

我正在尝试编程禁用“无线紧急警报”,例如Amber警报和其他紧急警报。是否有人能够完成这项任务,或者有任何有用信息可以指引我方向?


我正在尝试创建一个具有配置紧急警报是否启用等功能的MDM。我拥有设备管理员访问权限,因此我认为这是可能的,但我还没有找到任何相关信息。 - Aaron Portal
1
我正在使用MDM将手机变成专用相机,每当紧急警报出现时,它们会打断用户正在进行的操作。因此,我希望它们默认情况下完全被禁用。 - Aaron Portal
1
我也很想知道答案。在加拿大,经过多年的安卓用户能够禁用无线紧急警报,最新的更新似乎强制它们始终处于开启状态。 - nabeelr
3个回答

3

在进行了一些挖掘之后,如果您愿意安装 ADB、将设备连接到计算机并通过 ADB 手动卸载无线紧急警报包,则可能会有一个解决方案。

我将以手动方式回答此问题,但至少有一些部分可以脚本化并以编程方式完成。


您需要完成大约3个主要步骤:

a)为您的平台下载SDK平台工具包。您可以在此处找到链接:https://developer.android.com/studio/releases/platform-tools

b)进入您设备上的开发者模式,并授权您的电脑。这里有做的步骤:https://developer.android.com/studio/command-line/adb#Enabling

c)使用adb shell和pm命令,如此处所述,删除com.android.cellbroadcastreceiver包:https://www.reddit.com/r/alberta/comments/qw9bmj/how_to_disable_emergency_alerts/


逐一检查所有这些内容是很好的,因为每个主要步骤之间都有许多较小的步骤。我将尝试在下面分解它们,以便作为一份逐步指南轻松消化。

  1. 下载(并安装)适用于您平台的SDK平台工具包。您可以在此处找到链接:https://developer.android.com/studio/releases/platform-tools
  2. 作为管理员,使用系统的shell/终端导航到文件夹,并准备运行adb命令。
  3. 在您的设备上,按照步骤“b”中链接的说明,导航到您的构建号,并重复点击它,直到它通知您开发者模式已启用(或请求您的PIN以启用开发者模式)。
  4. 导航到设置应用程序的第一页,您将有一个新的菜单选项标题为“开发者选项”,您必须选择它。
  5. 从开发者选项菜单中,启用“USB调试”选项(或者您可以阅读上面链接的文档,使用无线调试),并在提示时确认您希望启用USB调试。
  6. 将您的设备连接到计算机上,并允许任何需要的驱动程序完成安装。安装驱动程序后,您可能需要断开并重新连接设备。如果在设备上提示,请允许计算机连接到您的设备,并可选择始终允许选项。
  7. 使用我们在步骤2中打开的shell和适用于您计算机平台的适当语法,使用ADB命令来查询设备。(例如,在Windows PowerShell中,.\adb.exe devices在Linux或MacOS中,sudo adb devices)确保您的设备在结果中列出,并且列为“设备”,而不是“未经授权”。如果它被列为未经授权,请确保在提示时允许了USB调试。如果根本没有列出,请检查您的连接,或者尝试其中一个链接方法。
  8. 使用ADB命令连接到您的设备shell。(例如,.\adb.exe shellsudo adb shell
  9. 一旦进入您设备上的ADB shell,如果在Android 12上运行,则运行以下命令:pm uninstall -k --user 0 com.android.cellbroadcastreceiverpm uninstall -k --user 0 com.google.android.cellbroadcastreceiver在Android 13上。 pm命令是Android内置的包管理器,您正在指示其“卸载”和“-k”但保留用户数据为“--user 0”对于包/应用程序“com.android.cellbroadcastreceiver”。
  10. 一旦删除了该软件包,您可以使用“exit”命令断开与设备的连接,撤销任何已连接的设备,并关闭开发者模式(如果您希望这样做)。重启设备也可能是个好主意。

基本上就是这样。

警告一句话:似乎有些手机制造商对无线紧急警报的处理方式不同,并非所有人都使用com.android.cellbroadcastreceiver包,尽管三星被指出是其中之一,但在我运行Android 12的S10上,该包确实存在并负责无线紧急警报。

如果您的设备上没有安装'com.android.cellbroadcastreceiver'包,您可能需要针对其他包进行操作或以其他方式禁用它。 在Android 13中,该包似乎更名为'com.google.android.cellbroadcastreceiver'

祝你好运!


我在S10上成功了,但是S22不再有com.android.cellbroadcastreceiver。从Reddit帖子中链接的说明看起来撤销Samsung Messages应用程序权限的方法似乎可以解决问题(在政府发送下一个令人讨厌无用的“紧急”警报之前不会知道是否有效)。 - dieuwe
可能是Android 12与Android 13之间的差异。我想应该有一个可以禁用它的服务来处理它。 - nabeelr
1
@dieuwe,似乎在Android 13上同一个包已被重命名为com.google.android.cellbroadcastreceiver。您是否成功解决了问题?如果没有,请尝试这个解决方案,并告诉我效果如何。 - nabeelr
1
我可以确认你的修复在Android 13上也起作用,非常感谢。 - dieuwe

0
如果你遇到了 pm uninstall ... 的错误 有时候在移除应用之前需要先启动 adb shell
在 S22 android 13 上 它是这样的 pm uninstall -k --user 0 com.google.android.cellbroadcastreceiver

0
我觉得真的不可能彻底卸载/停用这样的警报。 我卸载了所有的东西(1),警报还是会出现。 但是,你可以尝试其他非安卓手机,比如pinephone/librem/volla。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接