android - 禁用方向更改 - WindowManager

标签 android screen-orientation android-windowmanager

我正在开发一个锁屏应用程序,我在服务中使用 WindowManager 添加一个 View 。 我已经在 list 文件中为所有 Activity 设置了 Orientation PORTRAIT,但这似乎不适用于这个动态添加的 View 。

请看下面的代码 fragment

    public class LockerService extends Service{
        @Override
            public void onCreate() {
                super.onCreate();
                windowManager = (WindowManager) getSystemService(WINDOW_SERVICE);
                lockScreenView = new LockScreenView(this, this);
                windowManager.addView(lockScreenView, params);
    }
}

锁屏 View 如下:

public class LockScreenView extends RelativeLayout{
public LockScreenView(Context context, ScreenUnlockedDeligate screenUnlockedDeligate) {
        super(context);
         setSystemUiVisibility(SYSTEM_UI_FLAG_IMMERSIVE_STICKY | SYSTEM_UI_FLAG_FULLSCREEN | SYSTEM_UI_FLAG_HIDE_NAVIGATION);
        inflate(getContext(), R.layout.view_lock, this);

    }

}

有什么方法可以禁用此 View 的方向更改吗?即 Orientation.PORTRAIT

编辑:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

在这种情况下似乎不可用

提前致谢!

干杯

最佳答案

经过一番搜索,我找到了解决方案。

添加

params.screenOrientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT;

在添加 View 之前将解决问题并根据需要锁定方向。

喜欢:

    public class LockerService extends Service{
            @Override
                public void onCreate() {
                    super.onCreate();
                    windowManager = (WindowManager) getSystemService(WINDOW_SERVICE);
                    lockScreenView = new LockScreenView(this, this);
                    params.screenOrientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT;
                    windowManager.addView(lockScreenView, params);
        }
    }

关于android - 禁用方向更改 - WindowManager,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38656760/

相关文章:

java - 将项目作为库链接到其他项目

安卓屏幕方向 : Portrait doesn't work

ios - supportedInterfaceOrientations 不工作

c# - 跨多个 Activity 的 Android View (对话框/布局)

android - 系统覆盖窗口导致键盘和后退按钮出现触摸问题

android - 左键没有出现 [XML 布局]

android - 将 Android SDK 工具更新到修订版 14 后的 Ant 问题

由于在编辑器类中设置 onClick 监听器时出现空指针异常,Android 应用程序崩溃

android - FirebaseUI 登录方向

android - 如何从 Fragment 中清除 Android 中的 WindowManager 标志