2011-01-10 1 views
2

j'étudiais un morceau de code source de l'original PowerControl Widget (SettingsAppWidgetProvider) et je l'ai trouvé les méthodes suivantes:onEnabled/onDisabled méthodes avec "setComponentEnabledSettings" compréhension

@Override 
    public void onEnabled(Context context) { 
     PackageManager pm = context.getPackageManager(); 
     pm.setComponentEnabledSetting(new ComponentName("com.android.settings", 
             ".widget.SettingsAppWidgetProvider"), 
             PackageManager.COMPONENT_ENABLED_STATE_ENABLED, 
             PackageManager.DONT_KILL_APP); 
    } 

    @Override 
    public void onDisabled(Context context) { 
     Class clazz = com.android.settings.widget.SettingsAppWidgetProvider.class; 
     PackageManager pm = context.getPackageManager(); 
     pm.setComponentEnabledSetting(new ComponentName("com.android.settings", 
             ".widget.SettingsAppWidgetProvider"), 
             PackageManager.COMPONENT_ENABLED_STATE_DISABLED, 
             PackageManager.DONT_KILL_APP); 
    } 

que quelqu'un peut me expliquer ce qu'ils faire exactement ??

edit: Je suis désolé ma question était mauvais formulated..I savoir quand ils sont appelés, mais je ne peux pas comprendre ce que la paire setComponentEnabledSetting faire: D

Répondre

3

Les docs SDK Android expliquent à la fois: onDisabled et onEnabled . En résumé, onEnabled est appelée lorsque la première instance du widget est créée et onDisabled est appelée lorsque la dernière instance du widget est supprimée/supprimée.

Modifier: en référence aux appels setComponentEnabledSetting, je crois qu'ils ont simplement utilisé pour indiquer qu'aucun widget n'est actif et donc tout traitement de backend peut être arrêté.

+0

Je suis désolé ma question était mal formulé .. Je sais quand ils sont appelés mais je ne peux pas comprendre ce que fait la paire setComponentEnabledSetting: D – Salv0