androidsystem-setting

How to add own setting to system settings?


I have seen applications that manage to add their own checkboxes to system settings without requiring root access.

For example, when a new TTS engine is installed, it adds its own items to the Voice input & output > Text-to-speech settings screen:

enter image description here

How do they do that?

If I want to add my own setting to that Text-to-speech settings screen, what hook, API and/or documentation should I be looking for?


Solution

  • How do they do that?

    By examining the TtsEngine sample app in the SDK, it would appear that the process is:

    Step #1: Implement a TTS service. Developers who attempt to use this facility to hook arbitrary other stuff into Settings will be shot on sight.

    Step #2: In the manifest entry for that service, have a <meta-data> element with android:name="android.speech.tts" and an android:resource attribute pointing to an XML resource.

    Step #3: Create the aforementioned XML resource, akin to the following:

    <tts-engine xmlns:android="http://schemas.android.com/apk/res/android"
      android:settingsActivity="your.settings.activity.GoesHere" />
    

    Alas, this appears to be undocumented. Leastways, I'm not finding any references to this stuff when I search the online developer guide.