Solución:
Creo que estas llamando finish()
método en MainActivity
antes de empezar SettingsActivity
.
El escenario que ha descrito ocurrirá de dos maneras siguientes:
CUALQUIERA
Ha establecido android:noHistory = "true"
por MainActivity
dentro AndroidManifest.xml
cuales causas MainActivity
para finish
automáticamente al presionar la tecla Atrás.
O
Antes de cambiar a su ‘SettingsActivity’, ha llamado finish()
en tus MainActivity
, que lo mata. Cuando presiona el botón Atrás, dado que ninguna otra actividad está preestablecida en la pila para aparecer, vuelve a la pantalla principal.
Puede volver a la actividad anterior simplemente llamando a finish () en la actividad en la que se encuentra. Tenga en cuenta que se ejecutará cualquier código después de la llamada finish (); puede hacer una devolución después de llamar a finish () para solucionar este problema.
Si desea devolver los resultados a la actividad uno, al iniciar la actividad dos, necesita:
startActivityForResults(myIntent, MY_REQUEST_CODE);
Dentro de su actividad llamada, puede obtener el Intent del parámetro onCreate () o usar
getIntent();
Para establecer devolver un resultado a la actividad uno, luego en la actividad dos hacer
setResult(Activity.RESULT_OK, MyIntentToReturn);
Si no tiene intención de regresar, solo diga
setResult(Activity.RESULT_OK);
Si la actividad tiene malos resultados, puede usar Activity.RESULT_CANCELED (esto se usa por defecto). Luego, en la actividad uno lo haces
onActivityResult(int requestCode, int resultCode, Intent data) {
// Handle the logic for the requestCode, resultCode and data returned...
}
Para finalizar la actividad dos, use los mismos métodos con finish () como se describió anteriormente con sus resultados ya establecidos.
Cuando hace clic en su botón, puede hacer que llame a:
super.onBackPressed();