android13修改系统Launcher不跟随重力感应旋转

android13系统中需要修改系统原生Launcher不跟随重力感应旋转。

通过代码查找发现packages/apps/Launcher3/src/com/android/launcher3/states/RotationHelper.java中存在一个函数getAllowRotationDefaultValue,用于获取是否允许旋转的默认值。

java 复制代码
    public static boolean getAllowRotationDefaultValue(DisplayController.Info info) {
        // If the device's pixel density was scaled (usually via settings for A11y), use the
        // original dimensions to determine if rotation is allowed of not.
        float originalSmallestWidth = dpiFromPx(Math.min(info.currentSize.x, info.currentSize.y),
                DENSITY_DEVICE_STABLE);
        return originalSmallestWidth >= MIN_TABLET_WIDTH;
    }

这个函数主要根据屏幕dpi和尺寸来决定是否允许Luancher允许旋转。如果要禁止旋转直接返回false即可。

相关推荐
城东米粉儿3 小时前
Android MediaPlayer 笔记
android
Jony_3 小时前
Android 启动优化方案
android
阿巴斯甜3 小时前
Android studio 报错:Cause: error=86, Bad CPU type in executable
android
张小潇3 小时前
AOSP15 Input专题InputReader源码分析
android
_小马快跑_7 小时前
Kotlin | 协程调度器选择:何时用CoroutineScope配置,何时用launch指定?
android
_小马快跑_7 小时前
Kotlin | 从SparseArray、ArrayMap的set操作符看类型检查的不同
android
_小马快跑_7 小时前
Android | 为什么有了ArrayMap还要再设计SparseArray?
android
_小马快跑_7 小时前
Android TextView图标对齐优化:使用LayerList精准控制drawable位置
android
_小马快跑_8 小时前
Kotlin协程并发控制:多线程环境下的顺序执行
android
_小马快跑_8 小时前
Kotlin协程异常捕获陷阱:try-catch捕获异常失败了?
android