0

I'm talking about access to the menu where you can change such settings as the ringtone, screen brightness, data connection status etc.

I realise this menu is different on every phone and that the home screen itself is an app and that's its menu, but I'd still like to know if it can be accessed, even in any roundabout way?

If not, can all those sorts of settings - turn on and off mobile data etc - be accessed easily in one place or is it a matter of searching through many classes for odd settings that you need to change?

Thanks in advance for any help.

Thanks to the second commenter - that other post answers part of the question... the code brings up the right menu. But the other part of my question was whether you can access individual items on that menu and not just for the user to set but also your program.

mark_w
  • 253
  • 1
  • 2
  • 9
  • [mobile data](http://stackoverflow.com/questions/11555366/enable-disable-data-connection-in-android-programmatically) [screen brighness](http://stackoverflow.com/questions/3737579/changing-screen-brightness-programmatically-in-android) – chancea Jun 19 '13 at 17:32

2 Answers2

0

I'm talking about access to the menu where you can change such settings as the ringtone, screen brightness, data connection status etc.

There is no standard "menu where you can change such settings as the ringtone, screen brightness, data connection status etc.". Different devices do this differently, including millions upon millions of devices that have no such menu, beyond the various screens in the Settings app.

If not, can all those sorts of settings - turn on and off mobile data etc - be accessed easily in one place or is it a matter of searching through many classes for odd settings that you need to change?

Much of that you cannot change yourself, unless your app is installed as a system app by a rooted device user. For example, I am not aware of supported means to "turn on and off mobile data" from a non-system SDK app.

Hence, in general, it is "a matter of searching through many classes for odd settings that you need to change", then determining if you can hold the permissions necessary to change them.

CommonsWare
  • 986,068
  • 189
  • 2,389
  • 2,491
  • Thank you for your answer :-) All I wanted to do was make an app that allows me to put shortcuts to my most frequently used settings on the home screen because as it stands all I can do is put a shortcut to the settings menu itself. So you're saying this cannot be done unless it's a system app? – mark_w Jun 19 '13 at 19:09
  • @user2456511: "as it stands all I can do is put a shortcut to the settings menu itself" -- well, you can at least drive the user to the right screen in many cases. See the `Intent` actions defined on `android.provider.Settings`. "So you're saying this cannot be done unless it's a system app?" -- if you want to write your own UI for controlling "settings", whether or not you can do that from a non-system app depends on the "setting". There is no blanket answer, as some settings you *can* modify from the SDK from a regular app (just not all that many). – CommonsWare Jun 19 '13 at 19:17
  • You'll have to forgive me, I'm very new to all of this - I've only got a few test apps past "hello world" and they don't do much. VB is what I'm used to. So just to be sure, there's no way of an app iterating through one of the menus shown to a user with an "intent" - you have no programmatic access to the contents of a third party activity started from an intent in your program? – mark_w Jun 19 '13 at 19:41
  • @user2456511: "you have no programmatic access to the contents of a third party activity started from an intent in your program?" -- correct. Partly, that's because it's in another process. Beyond that, "programmatic access" raises significant security issues. – CommonsWare Jun 19 '13 at 19:52
  • Fair enough, thanks for the clarification, and thanks for all your advice :-) I won't take up any more of your time and will mark the question as answered :-) – mark_w Jun 19 '13 at 20:12
0

in order to show the settings screen to the user, use :

startActivity(new Intent(Settings.ACTION_SETTINGS));
android developer
  • 114,585
  • 152
  • 739
  • 1,270