如何在不重新启动整个应用程序的情况下应用主题?如果我使用startActivity(getIntent()); finish();
执行此操作,则退出并且不重新启动。是否可以简单地重新启动/重新创建活动以应用主题?
答案 0 :(得分:16)
订单错误。
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);
之前设置主题。您需要销毁活动并再次创建它,并立即在onCreate()
setTheme(THEME);
答案 1 :(得分:1)
Intent i = getBaseContext().getPackageManager().getLaunchIntentForPackage( getBaseContext().getPackageName() );
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);