gpt4 book ai didi

android - 将安卓屏幕方向锁定为横向

转载 作者:行者123 更新时间:2023-11-29 16:12:12 25 4
gpt4 key购买 nike

我正在开发一个 android 应用程序,其一个功能是将屏幕方向锁定为 Landscape,我想将此方向更改应用于手机中的所有 android 应用程序。我正在使用这段代码

private void lockScreenOrientation() {
if (!mScreenOrientationLocked) {
final int orientation = getResources().getConfiguration().orientation;
final int rotation = getWindowManager().getDefaultDisplay().getOrientation();
if (rotation == Surface.ROTATION_0 || rotation == Surface.ROTATION_90) {
if (orientation == Configuration.ORIENTATION_PORTRAIT) {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
else if (orientation == Configuration.ORIENTATION_LANDSCAPE) {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}
}
else if (rotation == Surface.ROTATION_180 || rotation == Surface.ROTATION_270) {
if (orientation == Configuration.ORIENTATION_PORTRAIT) {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT);
}
else if (orientation == Configuration.ORIENTATION_LANDSCAPE) {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE);
}
}

mScreenOrientationLocked = true;
}
}

private void unlockScreenOrientation() {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);
mScreenOrientationLocked = false;
}

但这是临时更改,不会对所有应用程序生效,有谁知道将锁定方向应用于所有应用程序的方法吗?谢谢

最佳答案

应用程序(如您链接的应用程序)通过修改与旋转相关联的全局系统设置值来执行此操作。看看 Settings.System应用程序可用常量的类。具体来说,ACCELEROMETER_ROTATIONUSER_ROTATION 值可能会引起人们的兴趣。

您还需要在 list 中声明 android.permission.WRITE_SETTINGS 和可能的 android.permission.WRITE_SECURE_SETTINGS 权限。

关于android - 将安卓屏幕方向锁定为横向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12266315/

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