Usuario de comprobación de Android iniciado antes, de lo contrario iniciar actividad de inicio de sesión

Quiero que la actividad de inicio de sesión comience cuando el usuario inicie la aplicación pero no se haya registrado antes. Si ya se ha completado un inicio de sesión satisfactorio, la aplicación omitirá la página de inicio de sesión y se moverá a MainMenu.java. Lo que tengo ahora es:

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); } 

Pero obtengo FCs. ¿Hay algún problema con la implementación de SharedPreferences?

Su código nunca llama a que first_time_check() , por lo que el reenvío automático en caso de que un usuario que regresa no funciona.

Usted podría en onCreate() hacer

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

Así que para un nuevo usuario, first_time_check() lo reenviaría a la página de inicio de sesión, de lo contrario se mostraría el diseño actual y podría continuar en esta página.

Está utilizando las preferencias compartidas. Eso es bueno.

Hay un pequeño ejemplo dado en este enlace. Eso probablemente resolverá el problema.

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

Básicamente, no estoy viendo leer el valor almacenado. Lo están almacenando y luego lo cometen. Pero no hay código donde lo estás leyendo. Sólo cuando lo lea, puede decidir qué actividad debe iniciarse. Tienes que llamar a first_time_check () para resolver esto.

Espero haber podido ayudarte.

Puede guardar los detalles del registro en el método onSaveInstanceState () y restaurarlos cuando la actividad se reinicie. Por ejemplo dentro onRestore ().

Esto se puede hacer de dos formas. Una es almacenarlas en una variable global y la segunda es almacenar los datos en las preferencias compartidas. Vea este ejemplo.

  • Android: Mantenga el nombre de usuario en sesión hasta que se cierre la sesión
  • La cookie de sesión no expira Cuando Chrome Browser está cerrado en teléfonos inteligentes
  • ¿Cómo puedo salir con AndroidAccountManager?
  • Cookies y Webview - CookieSyncManager en Android!
  • Los eventos de registro de ráfagas no siempre
  • ¿Qué es una buena manera de realizar un seguimiento de los eventos de fondo en Android sin inflar los números de sesión?
  • If (session.isOpen ()), inicio de sesión de facebook en android siempre devuelve false
  • Android: inicio de sesión de Google con pantalla de inicio de sesión en lugar de inicio de sesión automático
  • Mantenimiento de la sesión en android (la aplicación permanece autenticada en el lado del servidor)
  • ¿Cómo evitar volver a la configuración de inicio de sesión pulsando el botón / tecla de regreso?
  • {Estado de la sesión: OPENING, token: {token de AccessToken: permisos de ACCESS_TOKEN_REMOVED: }, appId: 1xxxxxxxxxxx}
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.