Java 如何在启动时保存应用程序定向状态

Java 如何在启动时保存应用程序定向状态,java,android,Java,Android,我正在开发一款媒体播放器android应用程序。我在我的res文件夹中为不同的活动设置了纵向和横向布局。我希望每个单独的启动实例都有一个方向。这意味着,如果用户以纵向模式启动应用程序,则应显示“我的唯一纵向布局”,直到其被销毁;如果用户以横向模式启动应用程序,则应显示“我的唯一纵向布局”。有办法解决这个问题吗 这是我的舱单: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schema

我正在开发一款媒体播放器android应用程序。我在我的res文件夹中为不同的活动设置了纵向和横向布局。我希望每个单独的启动实例都有一个方向。这意味着,如果用户以纵向模式启动应用程序,则应显示“我的唯一纵向布局”,直到其被销毁;如果用户以横向模式启动应用程序,则应显示“我的唯一纵向布局”。有办法解决这个问题吗

这是我的舱单:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.musicianfocus.ben.wordedfm">
    <uses-permission android:name="android.permission.INTERNET"/>

<supports-screens
    android:smallScreens="false"
    android:normalScreens="true"
    android:largeScreens="true"
    android:xlargeScreens="true"
    android:anyDensity="true"
    />
    />
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity
            android:name=".SplashActivity"
            android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name">
            <category android:name="android.intent.category.LAUNCHER" />
            <intent-filter>

                <action android:name="com.musicianfocus.ben.wordedfm.actionPLAY" />
            </intent-filter>
        </activity>
        <service android:name=".RadioService"
            android:enabled="true"/>

    </application>

</manifest>

/>
这应该可以通过编程禁用方向更改:)

您可以使用此选项

<activity android:name=".MainActivity" 
        android:screenOrientation="locked">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

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

这是我的建议!
不必用按钮更改,您可以将其保存在数据库或您想要保护的设置文件中,并使用文件读取器加载它们。

这不是一个精确的解决方案,而是一个Jugaad,创建两个活动,一个用于横向,一个用于纵向,当用户启动应用程序时,以编程方式检查方向,例如,若用户以纵向模式启动应用程序,则启动纵向模式的活动,否则为横向模式。此解决方案将有一个冗余代码,但它将根据您的需求工作

横向模式不适用于您的代码。我希望应用程序以用户设置的模式打开
<activity android:name=".MainActivity" 
        android:screenOrientation="locked">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

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