我使用此代码隐藏了顶部状态栏
public static void removeNotificationBar(Activity activity) {
if (activity != null) {
activity.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
}
但似乎我需要在我的活动的某些情况下重新启用它,我无法弄清楚要传递给窗口的标志以重新启用状态栏。
有什么想法吗?
答案 0 :(得分:2)
您有两种方法可以解决您的问题:
第一个:是clear the flag,如您所说的in this answer所述:
activity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
第二个:,因为此标志位于活动范围内,您可以在没有任何动画的情况下重新运行活动,以便用户无法确定活动是否已重新启动:
Intent intent = getIntent();
intent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
activity.startActivity(intent);
finish();
activity.overridePendingTransition(0, 0); // to restart the activity with No Animation