6

The Settings app is common to all Android devices, some have more features than others, but most of them are common, such as "Wireless and networks", "Sound", "Screen" and so on.

However, I am faced with the desire of disabling access to some of these components, while keeping access to some others. Using apps such as "SmartAppProtector", I am able to lock access to the entire Settings application, but can't configure access on a deeper level.

Is there a way to do so? How can I, for example, enable access to the "Wireless and networks" component and disable access to the "Screen" component?

Rooting is no problem, thank you.

3

AFAIK, the Settings app is just a regular app but with a protected system permission level (normal apps are not allowed to request system permissions). Android is open source so you can download the source, create a modified Settings app, and install it as a protected system app (which is needed so it can obtain system permission, needs root). To be precise, for the system to grant system permissions, the app must be installed in the /system/app directory as opposed to the normal app install directory.

1

In short, you can't.

While a user can limit access and usage of certain applications, an application is unable to limit options/menus inside another application, unless an API is provided to that end. Using other words, "external" applications aren't able to know what to do within the settings application, in order to follow your desired instructions.

Have it said, the only way one could achieve such control, would be by preparing a custom ROM with those features present.

The reason as to why settings diverge from device to device is due to the different device's specifications and hardware features, that the OS detects and uses to control the presentation of certain menu options within the System Settings.

  • I am returning to @Zuul's Answer to said that hiding settings is possible and I am not talking about the pm hide adb command, some management mobile system are capable hiding settings. – medlamine Semassel Dec 16 '16 at 11:21
0

It's possible by using Knox SDK, but this would work only on Samsung devices. However not 100% of settings and not straight in the line. But you could gain quite a bit of control.

  • Although answers are appreciated, even on older questions such as this one (which was asked over 5 years ago), however, there was no indication in the question or comments that this was a Samsung device, and an answer should be more elaborate than just a link to reference, although step-by-step instructions are nice they are often unneccessary, but you should at least include an overview of the process needed to answer the OP's question, in this case how they would go about restricting specific pieces of the settings menu. – acejavelin Oct 29 '17 at 14:55
0

This is more of a trial and error but you can try disabling components of the Settings app for the objective. For example, disabling com.android.settings.Settings$DisplaySettingsActivity hids Display option in Settings app. Be warned that disabling a critical component may cause instability to the app.

While pm disable (see usage here) with is best for command-line, apps such as Elixir 2 and My Android Tools are convenient options.

In any such app, go to Applications or Activity or similar section, pick Settings app entry, and disable the relevant activities/components.

Note: Root access is required to disable a component of an app.

  • I understand that the question is way too old and my answer may not be relevant to the then Android versions, but given that the question is Android version independent I'm hoping both Q&A would prove useful to contemporary Android users as well. – Firelord Oct 26 '17 at 14:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.