安卓系统相机或者第三方相机应用拍照查看图片后返回相机到强制横屏再恢复

问题的描述:

1.从第三方相机缩略图界面进入图库(photos 或者 gallery)返回相机后横屏,界面强制横屏然后旋转恢复
2. 从系统相机缩略图界面进入图库(photos 或者 gallery)横屏,然后返回相机,界面强制横屏然后旋转恢复

首先来说这是一个谷歌已知的问题,在安卓8.0和8.1上都会出现的。

https://issuetracker.google.com/issues/69168442

直接上解决办法了

在frameworks\base\services\core\java\com\android\server\wm\WindowCotaint.java

在getorientation()的方法中,请在对应位置加下///M:包起来的这一段: 
    if (orientation == SCREEN_ORIENTATION_UNSET) {
        continue;
    }
 
    /// M: We ignore any hidden applications on the top.
    /// Just like N. @{
    if (wc instanceof AppWindowToken) {
        AppWindowToken atoken = (AppWindowToken) wc;
 
 
 Slog.v("WindowContainer", "WindowContainer   atoken.hiddenRequested=" +atoken.hiddenRequested);
 
        if (atoken.hiddenRequested) {
           Slog.v("WindowContainer", "WindowContainer" +
                    "Skipping " + atoken + " -- going to hide");
            continue;
        }
    }
    /// M: @}
 
    if (wc.fillsParent() || orientation != SCREEN_ORIENTATION_UNSPECIFIED) {
        // Use the orientation if the container fills its parent or requested an explicit
        // orientation that isn't SCREEN_ORIENTATION_UNSPECIFIED.
        return orientation;
    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值