Cuando una aplicación se inicia o se reanuda, me gustaría redirigir al usuario a una 'Actividad' específica basada en una variable establecida en 'SharedPrefences'.Inicie la aplicación de Android con actividad específica
Para hacer esto yo estaba considerando tener un método que verifica la variable de estado SharedPreferences y redirige a la actividad correcta:
private void launchRedirect(Context ctxt) {
Integer status = AppPreferences.getStatus(this);
Intent i = new Intent(MainActivity.this, Activity1.class);
switch (status) {
case 0:
i = new Intent(MainActivity.this, Activity2.class);
case 1:
i = new Intent(MainActivity.this, Activity3.class);
case 2:
i = new Intent(MainActivity.this, Activity4.class);
case 3:
i = new Intent(MainActivity.this, Activity5.class);
}
startActivity(i);
}
Y entonces yo podría llamar a este método en cada método 'onResume' para todas las actividades de mi aplicación:
public void onResume(Bundle savedInstanceState) {
launchRedirect(this);
}
Esto significaría que el usuario no puede técnicamente volver a la última actividad, porque cuando lo llaman, se llama onResume, y será redirigido al estado que se corresponde con el usuario actual.
Supongo que esto podría dar lugar a algunos errores circulares, ¿hay una forma mejor de hacerlo?
Buena pregunta tan +1 –