如何在不重新启动整个应用程序的情况下应用主题?如果我这样做 startActivity(getIntent()); finish(); 活动退出,不重新启动。是否可以简单地重新启动/重新创建活动以应用主题?

有帮助吗?

解决方案

它的顺序不正确。

    finish();
    intent = new Intent(this, <your_activity>.class);
    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(intent);

这是正确的顺序。

主题可以设置之前 super.onCreate(savedInstanceState); 正在被召唤。您需要销毁活动并再次创建它并立即调用 setTheme(THEME); 在onCreate()

其他提示

Intent i = getBaseContext().getPackageManager().getLaunchIntentForPackage( getBaseContext().getPackageName() );
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top