【问题标题】:How to lock status bar and notification bar in a specific Activity in my application如何在我的应用程序的特定活动中锁定状态栏和通知栏
【发布时间】:2017-12-17 08:19:48
【问题描述】:

我正在开发一个与考试相关的 Android 应用程序。考试开始时,我需要锁定状态栏和通知栏。我使用了下面的代码,但它只是隐藏状态栏和通知栏。

this.requestWindowFeature(Window.FEATURE_NO_TITLE);

        //Remove notification bar
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

有没有办法锁定状态栏和通知栏而不是隐藏它们。如有任何积极回应,请提前致谢。

【问题讨论】:

    标签: android statusbar android-notification-bar


    【解决方案1】:

    锁定通知栏是什么意思?你的意思是暂时没有收到任何通知?

    关于您的问题。您可以做的是使您的工具栏不可点击,或者更具体地说,使导航抽屉不可点击,以便用户无法打开它。

    编辑:

    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/> 
    

    你可以这样做:

    WindowManager manager = ((WindowManager) getApplicationContext()
                .getSystemService(Context.WINDOW_SERVICE));
    
    WindowManager.LayoutParams localLayoutParams = new WindowManager.LayoutParams();
    localLayoutParams.type = WindowManager.LayoutParams.TYPE_SYSTEM_ERROR;
    localLayoutParams.gravity = Gravity.TOP;
    localLayoutParams.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE|
    
                // this is to enable the notification to recieve touch events
                WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL |
    
                // Draws over status bar
                WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN;
    
        localLayoutParams.width = WindowManager.LayoutParams.MATCH_PARENT;
        localLayoutParams.height = (int) (50 * getResources()
                .getDisplayMetrics().scaledDensity);
        localLayoutParams.format = PixelFormat.TRANSPARENT;
    
        customViewGroup view = new customViewGroup(this);
    
        manager.addView(view, localLayoutParams);
    

    或查看这个已发布的问题:Disable the notification panel from being pulled down

    【讨论】:

    • 我需要阻止用户在参加考试时访问通知。完成考试后,他们可以打开通知
    • 你可能还需要这个:link
    • 我收到以下错误:无法添加窗口 android.view.ViewRootImpl$W@2e63dab -- 窗口类型 2010 的权限被拒绝
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多