Firefly开源社区

打印 上一主题 下一主题

Android5.1 禁止屏幕随app旋转

56

积分

0

威望

0

贡献

技术小白

积分
56

Android5.1 禁止屏幕随app旋转

发表于 2016-12-14 10:03:40      浏览:9901 | 回复:3        打印      只看该作者   [复制链接] 楼主
求教大神。
目前用同一个app,分别装在Android手机和RK3288开发板上。在开发板上打开app时,屏幕会变为横屏,而在Android手机上则不会,想一直让屏幕处于竖屏模式下。请问如何禁止屏幕旋转。
回复

使用道具 举报

347

积分

0

威望

0

贡献

技术达人

Rank: 2

积分
347
发表于 2016-12-14 14:10:34        只看该作者  沙发
这个so easy 我就不公布答案了,百度一大把
回复

使用道具 举报

56

积分

0

威望

0

贡献

技术小白

积分
56
发表于 2016-12-14 14:32:27        只看该作者  板凳
  修改文件:
   WindowManagerService.java (frameworks\base\services\core\java\com\android\server\wm)
  中,函数
  boolean updateOrientationFromAppTokensLocked(boolean inTransaction) {
        long ident = Binder.clearCallingIdentity();
        try {
            //int req = getOrientationFromWindowsLocked();  //屏蔽原有代码
         
           //写死req变量,可以通过用property,来灵活设置强制或自动旋转                           
            int req = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT;
            if (req == ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED) {
                req = getOrientationFromAppTokensLocked();
            }

            if (req != mForcedAppOrientation) {
                mForcedAppOrientation = req;
                //send a message to Policy indicating orientation change to take
                //action like disabling/enabling sensors etc.,
                mPolicy.setCurrentOrientationLw(req);
                if (updateRotationUncheckedLocked(inTransaction)) {
                    // changed
                    return true;
                }
            }

            return false;
        } finally {
            Binder.restoreCallingIdentity(ident);
        }
    }
回复

使用道具 举报

74

积分

0

威望

0

贡献

技术小白

积分
74
QQ
发表于 2019-8-16 16:08:43        只看该作者  地板
buzaiyouyu001 发表于 2016-12-14 14:32
修改文件:
   WindowManagerService.java (frameworks\base\services\core\java\com\android\server\wm ...

最优解!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表