Отключить плитку Bluetooth на панели быстрых настроек

Я хочу отключить плитку Bluetooth на панели быстрых настроек. Я использую Android 9 и хочу сделать это в системном приложении. Так что, если в исходный код нужно внести какие-то изменения, я буду рад это узнать.

Я нашел много решений, рассказывающих, как добавить новую настраиваемую плитку через TileService, но мне нужно отключить уже существующие плитки (например, плитку Bluetooth).

Примечание: я не хочу, чтобы эта функция была отключена, т.е. пользователь мог бы включить функцию отключения из самого приложения настроек. Я просто хочу отключить плитку qs.

2 ответа

Решение

Немного искал на cs.android.com, и, похоже, это соответствующий класс.

Фреймворки / база / пакеты / SystemUI / SRC / ком / android / systemui / qs / плитки / BluetoothTile.java

Оттуда вы можете обрабатывать щелчок (или не обрабатывать его на самом деле) или отображать значок "отключен" и т. Д.

Если вы хотите "удалить" его, то https://cs.android.com/android/platform/superproject/+/master:frameworks/base/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSFactoryImpl.java;bpv=1;bpt=1;l=134 кажется классом, который их добавляет. Читается из Settings.Secure.QS_TILES

фреймворки / база / пакеты /SystemUI/ SRC / ком /android/systemui/qs/tileimpl/QSFactoryImpl.java

да, этот файл мы можем редактировать и удалять ненужные плитки.

Другие вопросы по тегам