Hide Quick Settings Tiles on the Lock Screen Automatically [App]
Google introduced Quick Settings tiles to Android with Android 5.0 Lollipop (though it should be noted that this feature was available on Samsung phones before it made its way to AOSP). With Quick Settings, users can access many useful system toggles such as a WiFi, Bluetooth, Location, GPS, or Sound toggle without having to navigate through the Settings app. And with the Quick Settings Tiles API introduced in Android 7.0 Nougat, developers can even add their own custom tiles. When creating a new tile, developers can specify whether or not the tile can be toggled directly from the lock screen, but many default tiles do not implement this feature. If you are looking for a way to disable or hide quick settings tiles on the lock screen, I’ve made a simple, free app that you can use to do just that.
Some devices from manufacturers such as Samsung or Huawei prevent the user from toggling certain tiles while on the lock screen. For instance, Huawei devices running EMUI prevent the user from toggling location while on the lock screen unless they unlock the phone. But if the user has an airplane mode or WiFi tile, those can still be toggled which renders the location tile protection useless.
Although Google has implemented Factory Reset Protection (FRP) to prevent thieves from running off with your device then factory resetting it, allowing users to toggle any quick setting is seen by many to be a potential security issue. Whether or not hiding quick settings tiles from the lock screen will really help with device security is a debate for another time, but clearly there’s a reason why certain OEMs lock certain tiles from being accessed without being unlocked. And since this seems to be a popular request, I decided it would be worth making a simple app to handle this task.
Hide Quick Settings Tiles on the Lock Screen
I made a super simple app using Tasker and its Tasker App Factory plugin to hide quick settings tiles from the lock screen. It’s by no means a pretty app, but it gets the job done. The app simply lists the currently available Quick Settings tiles that are in your status bar and lets you select the ones you want to hide from the lock screen.
The list of quick settings tiles are taken from the Settings.Secure preference sysui_qs_tiles. As such, the application needs to be granted the WRITE_SECURE_SETTINGS permission (either from a rooted shell within a terminal app such as Material Terminal by XDA Junior Member yarolegovich or through an ADB shell). With the permission granted, the app can write to sysui_qs_tiles, which immediately changes the list of available quick settings.
Unfortunately, I haven’t figured out an easy way to convert the quick setting tile values taken from the sysui_qs_tiles preference into the same text shown in the status bar. In my testing, though, this shouldn’t really be an issue because the strings that are shown are pretty easy to correlate with what tile it represents. Plus, the app displays the strings in the same order that they’re shown in the status bar, so there’s really no reason you won’t be able to find what tile you’re looking to hide.
In any case, once you’ve picked the tiles you want to disable on the lock screen and enable the display monitor service, the app will detect when the screen has been turned on and is actively on the lock screen. When on the lock screen, the app will modify the settings value that holds the current quick settings tiles and remove the tiles that you want hidden from the lock screen. Then when the user unlocks the phone, the app will restore the quick settings tiles that it saved when you turned the screen off.
I’ve been using this for over a week now and have not had any issues, but in case somehow the app screws up there’s a “save” and “restore” button that allows you to save the current list of quick settings tiles in your status bar and later restore them. The app hides and restore any quick setting tile that you choose, even custom third-party ones – though it may take a few seconds for the third-party tiles from apps such as AutoNotification to re-initialize.
I hope this quick application that I whipped up serves you well. I am by no means a developer given that I didn’t touch a single line of code when making this app with Tasker, but I would rather release this app for people to hide quick settings tiles instead of having people continue to wait for someone else to maybe come along with an app of their own.