【问题标题】:Disable Bluetooth Tile in Quick Settings Panel在快速设置面板中禁用蓝牙磁贴
【发布时间】:2019-12-24 06:46:26
【问题描述】:

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

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

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

【问题讨论】:

  • 有一个数据结构维护tiles。您是否尝试根据该数据结构(即数组)中的索引或名称禁用 Bluetooth 磁贴?
  • @Kushal 不,我不知道如何禁用它。我可以从 Settings.Secure 中删除磁贴,但无法禁用它。能不能详细解释一下。
  • 你想禁用还是删除它?
  • @frogatto 禁用它。
  • @AbdullahRiaz 默认关闭蓝牙还是永久禁用其磁贴?

标签: android android-source android-bluetooth android-app-quick-setting


【解决方案1】:

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

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

您可以从那里处理点击(或不实际处理),或显示“禁用”图标等。

如果你想“删除”它,那么frameworks/base/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSFactoryImpl.java 似乎是添加它们的类。它来自Settings.Secure.QS_TILES

【讨论】:

  • 我上过这些课程。看来,更改源是禁用磁贴的唯一解决方案。如果 Settings.Secure 里面有 sysui_qs_tiles 之类的设置,那就简单多了。
  • 是的,修改 BluetoothTile 本身似乎是唯一的方法。
【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-08-01
    • 1970-01-01
    • 2019-03-19
    • 2017-01-04
    • 1970-01-01
    • 2020-01-06
    • 1970-01-01
    相关资源
    最近更新 更多