gpt4 book ai didi

android - 禁用方向更改 - WindowManager

转载 作者:行者123 更新时间:2023-11-30 01:08:35 26 4
gpt4 key购买 nike

我正在开发一个锁屏应用程序,我在服务中使用 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com