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?
- ¿Cuál es el equivalente más cercano a una variable Session / Cookie en Android?
- Sesión de manejo en android mientras se registra en el lado del servidor en php
- Acceso a la aplicación de Android
- Reutilizando sesiones SSL en Android con HttpClient
- ¿Cómo implementar la funcionalidad de inicio de sesión en una aplicación de Android con seguridad?
- Android - ¿Cómo manejar correctamente los métodos onPause / onResume?
- Cómo persistir las cookies en Android incluso después de cerrar la aplicación o poner en segundo plano mediante el botón de menú en el android?
- Actualización de la sesión después de revocar los permisos individuales
- Cómo evitar el tiempo de espera de sesión en Android
- Hacer un login con facebook usando Facebook SDK 3.0
- ¿Preferencias compartidas en Android?
- ¿Cómo mantener la sesión de inicio de sesión de usuario?
- Cómo consumir servicios WCF dependientes de la sesión usando Ksoap2-Android
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.
- Cómo utilizar la administración de dependencias granular de Google Play Services 6.5
- Buscando en YouTube HTML5 video sobre Android WebView