Este grupo de redactores ha estado mucho tiempo buscando para dar soluciones a tu búsqueda, te regalamos la respuestas por esto nuestro deseo es resultarte de mucha apoyo.
Solución:
Si solo considera cambiar a su punto de partida Activity
Referirse a de ricardo responder. Pero este enfoque no se restablecerá static contexto de su aplicación y no reconstruirá el Application
class, por lo que la aplicación no se reiniciará realmente.
Si desea reiniciar completamente su aplicación, puedo aconsejarle una forma más radical, usando PendingIntent
.
private void restartApp()
Intent intent = new Intent(getApplicationContext(), YourStarterActivity.class);
int mPendingIntentId = MAGICAL_NUMBER;
PendingIntent mPendingIntent = PendingIntent.getActivity(getApplicationContext(), mPendingIntentId, intent, PendingIntent.FLAG_CANCEL_CURRENT);
AlarmManager mgr = (AlarmManager) getApplicationContext().getSystemService(Context.ALARM_SERVICE);
mgr.set(AlarmManager.RTC, System.currentTimeMillis() + 100, mPendingIntent);
System.exit(0);
PD Probé tu código en mi proyecto: funciona bien con y sin finish()
. Entonces, tal vez tenga algo específico sobre su Actividad o Fragmento, que no haya escrito.
Consulte el siguiente código
Intent intent = new Intent(this, YourHomeActivity.class);
this.startActivity(intent);
this.finishAffinity();
Está iniciando su actividad en el hogar y descartando todas las demás actividades. Parece un reinicio para los usuarios, pero el proceso es el mismo.
prueba este
Intent intent = getActivity().getBaseContext().getPackageManager().getLaunchIntentForPackage(getActivity().getBaseContext().getPackageName() );
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
android.os.Process.killProcess(android.os.Process.myPid());
System.exit(0);
Tienes la opción de añadir valor a nuestra información participando con tu experiencia en las interpretaciones.