Тема Программно задана. Как перезагрузить действие для применения

Как я могу применить тему без перезапуска всего приложения? Если я сделаю это с помощью startActivity(getIntent()); finish(); startActivity(getIntent()); finish(); Активность завершается и не перезапускается. Можно ли просто перезапустить / воссоздать действие для применения темы?

Solutions Collecting From Web of "Тема Программно задана. Как перезагрузить действие для применения"

Он находится в неправильном порядке.

  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); In onCreate ()

 Intent i = getBaseContext().getPackageManager().getLaunchIntentForPackage( getBaseContext().getPackageName() ); i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(i);