CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: complicazio con ben 2 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: 9mm con ben 11 Thanks ricevuti negli ultimi sette giorni
Utente del mese: 9mm con ben 34 Thanks ricevuti nell'ultimo mese

Visualizzazione dei risultati da 1 a 2 su 2
Discussione:

Settings content provider

Se questa discussione ti è stata utile, ti preghiamo di lasciare un messaggio di feedback in modo che possa essere preziosa in futuro anche per altri utenti come te!
  1. #1
    Baby Droid L'avatar di lorenzoff


    Registrato dal
    Oct 2010
    Messaggi
    14

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Settings content provider

    Consideriamo questo codice:

    codice:
    Intent i = new Intent(Settings.ACTION_WIRELESS_SETTINGS);
    startActivityForResult(i, 0);
    Chiaramente verrà visualizzata la activity di editazione preferenze rete.
    Utilizzando le altre costanti della classe Settings (ACTION_DISPLAY_SETTINGS, ACTION_SOUND_SETTINGS, ecc.) si apriranno le relative PreferenceActivity; la domanda è: esiste un modo di leggere tutte le 'categorie' disponibili?

    Mi piacerebbe realizzare una app che mi visualizzi le impostazioni in un modo più consono ad uno schermo landscape 7" e, quindi, la lista verticale che viene presentata normalmente alla scelta di 'impostazioni' (elenco Wireless, sound, display, ecc, tutto allineato a sinistra con tre quarti dello schermo lasciato vuoto) la vorrei rimpiazzare con una griglia.
    Il mio problema è questo:
    io so a priori che esistono le impostazioni audio e, quindi, potrei usare l'intent ACTION_SOUND_SETTINGS ma se non lo sapessi? Ossia, esiste un content provider che mi fornisca tutte le categorie di settings che vedo nelle varie schermate 'impostazioni'?
    «La deterrenza è l'arte di creare nell'animo dell'eventuale nemico il terrore di attaccare. Ed è proprio a causa dei congegni che determinano la decisione automatica irreversibile, escludendo ogni indebita interferenza umana, che l'ordigno "Fine di Mondo" è terrorizzante, eh, eh, eh, e di facile comprensione. E assolutamente credibile e convincente.»

  2.  
  3. #2
    Baby Droid L'avatar di lorenzoff


    Registrato dal
    Oct 2010
    Messaggi
    14

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Per la serie fatti una domanda e datti una risposta, mi rispondo da solo appunto: no, non c'è un content provider per l'insieme dei settings.
    Osservando il file [repo]/packages/apps/Settings/src/com/android/settings/Settings.java si può leggere per l'OnCreate

    codice:
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            
            addPreferencesFromResource(R.xml.settings);
            
            int activePhoneType = TelephonyManager.getDefault().getPhoneType();
    
            PreferenceGroup parent = (PreferenceGroup) findPreference(KEY_PARENT);
            Utils.updatePreferenceToSpecificActivityOrRemove(this, parent, KEY_SYNC_SETTINGS, 0);
            Utils.updatePreferenceToSpecificActivityOrRemove(this, parent, KEY_SEARCH_SETTINGS, 0);
    
            Preference dockSettings = parent.findPreference(KEY_DOCK_SETTINGS);
            if (getResources().getBoolean(R.bool.has_dock_settings) == false && dockSettings != null) {
                parent.removePreference(dockSettings);
            }
        }
    Quell'addPreferencesFromResource tradisce il file settings.xml nel quale ci sono, cablate, tutte le IconPreferenceScreen del caso.
    «La deterrenza è l'arte di creare nell'animo dell'eventuale nemico il terrore di attaccare. Ed è proprio a causa dei congegni che determinano la decisione automatica irreversibile, escludendo ogni indebita interferenza umana, che l'ordigno "Fine di Mondo" è terrorizzante, eh, eh, eh, e di facile comprensione. E assolutamente credibile e convincente.»

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire risposte
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Torna su
Privacy Policy