在解锁设备时,防止应用程序更改为纵向方向

问题描述 投票:1回答:2

我正在开发一款运行在Android设备的包装webview中的游戏。一切都按预期工作 - 在这种情况下,我已将视图锁定在横向方向,并阻止设备在手机旋转时重新启动活动。

但是,如果我将设备置于睡眠状态然后将其解锁,我会在纵向模式下看到我的应用程序片刻,直到我的设备重新定位到横向。这种行为是有道理的,因为手机在纵向方向自然使用,但我不希望我的活动从横向切换。

如果我开始任何其他游戏,我的意思是那些用本机代码编写的,可以锁定到横向模式,然后锁定和解锁我的手机,游戏不会快速切换 - 从纵向切换到 - 三角舞。

我错过了什么?

在MainActivity我有

this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE)

在几个地方,包括onConfigurationChanged,onWindowFocusChanged,onPause和onResume。

以下是我在AndroidManifest中定义活动的方式

    <activity
        android:name=".MainActivity"
        android:label="@string/app_name"
        android:hardwareAccelerated="true"
        android:screenOrientation="sensorLandscape"
        android:configChanges="orientation|screenSize"
        android:launchMode="singleTask"
        android:alwaysRetainTaskState="true"
        android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
        android:windowSoftInputMode="stateAlwaysHidden" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

感谢您的帮助/建议!

-J.L.

android webview hybrid-mobile-app
2个回答
0
投票

您忘记从screenOrientation标记中删除传感器。试试这个:

 <activity
        android:name=".MainActivity"
        android:label="@string/app_name"
        android:hardwareAccelerated="true"
        android:screenOrientation="landscape"
        android:configChanges="orientation|screenSize"
        android:launchMode="singleTask"
        android:alwaysRetainTaskState="true"
        android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
        android:windowSoftInputMode="stateAlwaysHidden" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

0
投票

当手机解锁时,应用程序仍会显示为错误的方向。

您是否将setContentView(R.layout.main)移动到onResume,在您放置方向代码的位置?我会尝试设置方向,然后是setContentView()

© www.soinside.com 2019 - 2024. All rights reserved.