android横屏时,解锁屏幕程序自动由竖屛转横屏崩溃的问题

项目中要用到横屏,所以在mainfast的Activity标签下做如下设置

<activity android:name=".ui.launch.LaunchActivity"
            android:configChanges="orientation|keyboardHidden"
            android:screenOrientation="landscape">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

过后,手机锁屏,然后解锁时,屏幕在自动横屏旋转时退出了,然后多方查找,最后是在android:configChanges="orientation|keyboardHidden"中加了一个screenSize参数,即android:configChanges="screenSize|orientation|keyboardHidden",修改后的Activity标签为

<activity android:name=".ui.launch.LaunchActivity"
            android:configChanges="screenSize|orientation|keyboardHidden"
            android:screenOrientation="landscape">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

以上是在配置文件中设置,在Activity中代码也可以设置横屏,代码如下:

    @Override
    protected void onResume() {
        //设置为横屏
        if (getRequestedOrientation() != ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE) {
            setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
        }
        super.onResume();
    }

当然,你代码中设置时,也可以选择其它地方,这里只是做个样例而已。
ok,今天就讲到这里了,谢谢诶。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android开发中,大多APP可能根据实际情况直接将APP的界面方向设死了,或竖屏或横屏。但是,我们还是会遇到横...
    yoosir阅读 50,591评论 7 112
  • 以下是复制别人的文章过来的,目的是保留下这个方法,便于今后查阅使用,该文章不会用于任何商业用途,该文章的出处:ht...
    若兰幽竹阅读 8,561评论 0 3
  • Android手机或平板都会存在横竖屏切换的功能,通常是由物理重力感应触发的,但是有时候也不尽然,通常在设置里面我...
    Lost_Robot阅读 6,876评论 1 5
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,808评论 25 709
  • 《见与不见》 你见,或者不见我 我就在那里 不悲不喜 你念,或者不念我 情就在那里 不来不去 你爱,或者不爱我 爱...
    倪殇超人阅读 186评论 0 0