Bei erst Start direkt in die Preferences

C

ChrisFand

Neues Mitglied
0
Hallo, ich hab da ein kleines Problem. Sobald ich beim ersten Start der App direkt in die PreferenceActivity gehe un dann meine Eingaben mache und mit der Back Taste die PreferenceActivity wieder verlasse sollte eigentlich die MainActivity wieder kommen aber. Jedoch werde ich einfach aus dem Programm geschmissen. Ich prüfe den ersten Start im onResume, ist das zu spät?

Code:
@Override
	protected void onResume() {
		super.onResume();		
				
		SharedPreferences settings = getSharedPreferences("First_Run", 0);

		if (settings.getBoolean("my_first_time", true)) {
			Intent i = new Intent(Main.this, SettingsActivity.class);
			startActivity(i);
		    settings.edit().putBoolean("my_first_time", false).commit(); 
		}else{
			checkData();
			checkFiles();			
			locationCheck();
		}
	}

Ich wäre auch durchaus mit einem neustart der App nach den Einstellungen einverstanden, klappt aber auch nicht!
 
Hmm, ich verstehe leider nicht so ganz was du bezwecken willst.
Wenn es dir darum geht die MainActivity neu zu starten, wenn bestimmte Einstellungen verändert wurden, könnte ein onPreferenceChanceListener einen sauberen Ablauf gewährleisten.

So rein vom Bauchgefühl finde ich die Vorgehensweise etwas "unglücklich" in onResume neue Intents aufzurufen - aber vielleicht liege ich hier auch falsch. :)

Vielleicht noch als Lösungsansatz für obigen Tipp:
Code:
prefs.registerOnSharedPreferenceChangeListener(new SharedPreferences.OnSharedPreferenceChangeListener() {
            @Override
            public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
                if (key.equals("THEME_PREF")) {
                    Log.d(TAG + " onSharedPreferenceChanged: ", "(Theme - Änderung und -Neustart-...)");
                    Intent i = new Intent(getBaseContext(), MainActivity.class);
                    i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                    finish();
                    startActivity(i);
                }
            }
        });
... diesen Code führe ich in meinen Prefs auf, sobald der Nutzer ein anderes Theme ausgewählt hat. Registriert wird der Onkel in onCreate....
 

Ähnliche Themen

G
Antworten
8
Aufrufe
1.196
gnome2012
G
D
Antworten
17
Aufrufe
409
datNeMo
D
U
  • unerfahrenerAppEntwickler
Antworten
3
Aufrufe
710
swa00
swa00
Zurück
Oben Unten