El valor de SharedPreferences no se actualiza

Estoy tratando de actualizar los valores dePreferencias compartidas, aquí está mi código:

<code>edit = PreferenceManager.getDefaultSharedPreferences(this).edit();
edit.putString(Settings.PREF_USERNAME+"",txtuser);
edit.putString(Settings.PREF_PASSWORD+"",txtpass);
edit.commit();" 
</code>

El problema es que cuando accedo a estos valores, no está devolviendo valores actualizados, me da un valor de SharedPreferences.

Pero cuando estoy confirmando los datos enXML archivo, los datos actualizados en ese.

Y después de reiniciar mi aplicación, obtengo los valores actualizados. Por lo tanto, es necesario reiniciar la aplicación para obtener los valores actualizados.
Entonces, ¿cómo obtener esos valores actualizados una vez que cambia?

Gracias por adelantado

Aquí está mi código completo:

<code>@Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        setContentView(R.layout.main);
        ctx=this;

            status=PreferenceManager.getDefaultSharedPreferences(this).getString(Settings.PREF_STATUS, Settings.DEFAULT_STATUS);// get old value
        submit.setOnClickListener(new View.OnClickListener() {
          @Override
            public void onClick(View v) {

                  on(ctx,true);//  function will call and value is updated

                }
            }});    

     status=PreferenceManager.getDefaultSharedPreferences(this).getString(Settings.PREF_STATUS, Settings.DEFAULT_STATUS);// this should give me a updated value but gives old value

    }
    public static boolean on(Context context) {
        return PreferenceManager.getDefaultSharedPreferences(context).getBoolean(Settings.PREF_ON, Settings.DEFAULT_ON);
    }

    public static void on(Context context,boolean on) {
            if (on) Receiver.engine(context).isRegistered(); //
        }




**********in reciver file***********
public void isRegistered ) {
        Editor edit = PreferenceManager.getDefaultSharedPreferences(Receiver.mContext).edit();
        edit.putString(Settings.PREF_STATUS+"","0");
        edit.commit();
}
</code>

Respuestas a la pregunta(5)

Su respuesta a la pregunta