Hirdetés

Keresés

Új hozzászólás Aktív témák

  • urandom0

    senior tag

    válasz lanszelot #12138 üzenetére

    Mindig tedd hozzá, hogy milyen platformon fejlesztesz, mert anélkül nem lehet pontos választ adni. Az Android processzkezelése egész más, mint mondjuk egy asztali Java alkalmazásé vagy egy Spring Boot appé, mert ugye Androidon intentekkel meg activitykkel kell játszani. Ott valami ilyesmi megoldást kell csinálnod (nem értek hozzá, én is csak úgy copyztam):

    Context ctx = getApplicationContext();
    PackageManager pm = ctx.getPackageManager();
    Intent intent = pm.getLaunchIntentForPackage(ctx.getPackageName());
    Intent mainIntent = Intent.makeRestartActivityTask(intent.getComponent());
    ctx.startActivity(mainIntent);
    Runtime.getRuntime().exit(0);

    Vagy ilyet:

    public static void triggerRebirth(Context context, Intent nextIntent) {
    Intent intent = new Intent(context, YourClass.class);
    intent.addFlags(FLAG_ACTIVITY_NEW_TASK);
    intent.putExtra(KEY_RESTART_INTENT, nextIntent);
    context.startActivity(intent);
    if (context instanceof Activity) {
    ((Activity) context).finish();
    }

    Runtime.getRuntime().exit(0);
    }

    De lényegében ez is arról szól, hogy új processzként elindítod saját magad, magadból pedig kilépsz, és az új processz pedig fut tovább.

Új hozzászólás Aktív témák