重新启用状态栏

时间:2016-05-26 08:23:43

标签: android

我使用此代码隐藏了顶部状态栏

public static void removeNotificationBar(Activity activity) {
    if (activity != null) {
        activity.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
    }
}

但似乎我需要在我的活动的某些情况下重新启用它,我无法弄清楚要传递给窗口的标志以重新启用状态栏。

有什么想法吗?

1 个答案:

答案 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