有些东西阻止了我的应用程序方向改变。找不到什么

Something PREVENTS my application from orientation change. Can't find what

很多关于如何防止方向改变的问题,但我的情况恰恰相反:我很难找到阻止我的应用程序方向改变的原因。

我查看了清单和布局。我没有发现任何虚假的东西。但仍然 - 该应用程序不会让步。如果我转到另一个应用程序,在那里切换方向并通过最近的任务返回我的应用程序 - 它会保持新方向并神奇地开始接收方向变化。

如果我再次关闭应用程序 运行 - 方向不会改变!

有什么问题吗?

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="pl.qus.xenovideo">

    <uses-sdk tools:overrideLibrary="tv.danmaku.ijk.media.player_arm64"/>

    <uses-feature
        android:name="android.hardware.wifi"
        android:required="false" />

    <!-- normal -->
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" />
    <!-- inne -->
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.MEDIA_CONTENT_CONTROL" />

    <application
        android:name="pl.qus.xenovideo.XenoVideo"
        android:allowBackup="true"
        android:icon="@mipmap/launcher"
        android:supportsRtl="true"
        android:label="@string/app_name"
        android:largeHeap="true"
        android:theme="@style/XenoBaseDark"
        android:resizeableActivity="true"
        tools:replace="android:theme">
        <meta-data
            android:name="android.app.default_searchable"
            android:value=".NewMainActivity" />
        <meta-data
            android:name="com.crashlytics.ApiKey"
            android:value="99e8ddc40dad5a041b2fde0a193875951a6967f0" />
        <meta-data android:name="com.google.android.gms.car.notification.SmallIcon"
            android:resource="@mipmap/launcher" />

        <uses-library android:name="com.sec.android.app.multiwindow" android:required="false" />
        <meta-data android:name="com.samsung.android.sdk.multiwindow.penwindow.enable" android:value="true" />
        <meta-data android:name="com.sec.android.support.multiwindow" android:value="true" />
        <!-- =======================================================================================
        == AKTYWNOSCI                                                                             ==
        =========================================================================================-->
        <!-- GLOWNA =============================================================================-->
        <activity
            android:windowSoftInputMode="adjustPan"
            android:name="pl.qus.xenovideo.NewMainActivity"
            android:label="@string/app_name"
            android:launchMode="singleTop"
            android:theme="@style/Theme.Transparent">

            <meta-data
                android:name="android.app.searchable"
                android:resource="@xml/searchable" />

                <!-- cut A LOT OF FILTERS HERE !>

        </activity>

        <!-- =======================================================================================
        == SERWISY                                                                                ==
        =========================================================================================-->

        <!-- SERWER UPNP ========================================================================-->
        <service
            android:name="pl.qus.xenovideo.xenoservice.XenoUpnpService"
            android:icon="@mipmap/launcher"
            android:label="xenovideo DLNA browsing" />

        <!-- SERWER HTTP ========================================================================-->
        <service
            android:name="pl.qus.xenovideo.xenoservice.XenoStreaming"
            android:exported="true"
            android:icon="@mipmap/launcher"
            android:label="xenovideo SMB streaming and home automation" />


        <!-- =======================================================================================
        == RISIWERY                                                                               ==
        =========================================================================================-->

        <!-- RISIWER BATTONOW ===================================================================-->
        <receiver android:name="pl.qus.xenovideo.xenoservice.MediaButtonIntentReceiver">
            <intent-filter>
                <action android:name="pl.qus.xenovideo.ACTION_MEDIA_BUTTONS" />
            </intent-filter>
        </receiver>

        <!-- RISIWER EVENTOW BUDZACYCH XENO =====================================================-->
        <receiver
            android:name="pl.qus.xenovideo.xenoservice.ScanIntentReceiver"
            android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
                <action android:name="android.net.wifi.STATE_CHANGE" />
                <action android:name="android.net.wifi.supplicant.CONNECTION_CHANGE" />
            </intent-filter>
        </receiver>
    </application>
</manifest>

像这样尝试xxxActivity.java

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_xxx);
    // set orientation
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

透明主题阻挡旋转。因此,删除或更改为其他主题,在清单中键入此字符串:android:theme="@style/Theme.Transparent"

布尔标志东方; 如果(flagOrient){setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); } else {setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);}

并且不要忘记创建适当的屏幕