Android-Check-Benutzer zuvor angemeldet, sonst starten Sie die Login-Aktivität

Ich möchte, dass die Login-Aktivität beginnt, wenn der Benutzer die App startet, aber noch nicht angemeldet ist. Wenn eine erfolgreiche Anmeldung bereits abgeschlossen ist, wird die App die Anmeldeseite überspringen und zu MainMenu.java wechseln. Was ich jetzt habe, ist:

public class Login extends Activity implements OnClickListener, TaskCompleteCallback{ first_time_check(); ... @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.configure); ...} private boolean first_time_check() { String first = mPreferences.getString("first", null); if((first == null)){ Intent i = new Intent(Login.this, MainMenu.class); startActivity(i); } return false; } ... SharedPreferences.Editor editor = mPreferences.edit(); editor.putString("first", value); ... editor.commit(); // Close the activity Intent i = new Intent(Login.this, MainMenu.class); startActivity(i); } 

Aber ich bekomme FCs. Ist etwas falsch mit dem, wie ich SharedPreferences implementiert habe?

  • Holen Sie sich ein Bild von Android's integrierte Galerie App programmgesteuert
  • Android SDK Plattformen zwischen Linux und Windows
  • Wie Autoincrement VersionCode in Android Gradle
  • Stoppen Sie das Speichern von Fotos mit Android native Kamera
  • Android: Horizontale Listenansicht in vertikaler Bildlaufansicht?
  • Paketname nicht im Logcat im ICS angezeigt
  • Wie kann man Fortschritte beim Laden einer URL auf Webview in Android?
  • Wie füge ich 2 Tasten horizontal mit 50% Breite für jeden in Android?
  • (Android) ScrollView scrollt nicht den ganzen Weg bis zum Ende meiner LinearLayout
  • Assets-Ordner im Android Studio Unit Test
  • FileObserver funktioniert nicht auf externen Speicher in Android 6.0 Marshmallow (API 23)
  • Zugriff auf Content Provider einschränken
  • 4 Solutions collect form web for “Android-Check-Benutzer zuvor angemeldet, sonst starten Sie die Login-Aktivität”

    Ihr Code nennt first_time_check() nur nennen diese first_time_check() , also die automatische vorwärts im Falle eines zurückkehrenden Benutzers funktioniert nicht.

    Sie könnten in onCreate() tun

     protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); first_time_check(); setContentView(R.layout.configure); ...} 

    Also für einen neuen Benutzer würde first_time_check() ihn auf die Login-Seite weiterleiten, sonst würde das aktuelle Layout angezeigt und er könnte auf dieser Seite fortfahren.

    Sie verwenden gemeinsame Einstellungen. Das ist gut.

    Es gibt ein kleines Beispiel in diesem Link. Das wird wohl das Problem lösen.

    http://developer.android.com/guide/topics/data/data-storage.html

    Grundsätzlich sehe ich nicht, dass du den gespeicherten Wert liest. Sie speichern es und begehen es dann. Aber es gibt keinen Code, wo du es liest. Erst wenn Sie es lesen, können Sie entscheiden, welche Aktivität gestartet werden muss. Sie müssen first_time_check () anrufen, um dies zu lösen.

    Hoffe, ich konnte dir helfen.

    Sie können die Log-Details in der onSaveInstanceState () -Methode speichern und dann wiederherstellen, wenn Ihre Aktivität neu gestartet wird. Zum Beispiel innen aufRestore ().

    Dies kann auf zwei Arten erfolgen. Man speichert sie in einer globalen Variablen und zweitens speichert die Daten in gemeinsamen Einstellungen. Siehe dieses Beispiel.

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.