在快速设置面板中禁用蓝牙磁贴

Disable Bluetooth Tile in Quick Settings Panel

我想从快速设置面板中禁用蓝牙磁贴。我正在使用 android 9,我想在系统应用程序上执行此操作。因此,如果源代码有一些变化,我会很高兴知道。

我发现很多解决方案告诉我如何通过 TileService 添加新的自定义磁贴,但我需要禁用已经存在的磁贴(如蓝牙磁贴)。

注意:我不希望该功能本身被禁用,即用户可以从设置应用本身启用禁用功能。我只想禁用 qs 磁贴。

在 cs.android.com 上搜索了一下,这似乎是相关的 class。

frameworks/base/packages/SystemUI/src/com/android/systemui/qs/tiles/BluetoothTile.java

从那里您可以处理点击(或实际上不处理),或显示 "disabled" 图标等。

如果你想"remove"它,那么frameworks/base/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSFactoryImpl.java seems to be the class that adds them. It reads from Settings.Secure.QS_TILES

frameworks/base/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSFactoryImpl.java

是的,我们可以编辑和删除不需要的图块。