如何阻止屏幕方向旋转并仍然获取方向更改通知

4
我想要将我的应用程序方向锁定为竖屏,但仍然接收方向变化事件。因此,我尝试添加 android:screenOrientation="portrait" 属性以阻止方向变化,并添加 android:configChanges="keyboardHidden|orientation" 属性以在重写的方法 onConfigurationChanged 中接收方向变化事件。但该方法仍未被调用。还有没有其他方法可以实现这一目标?

你找到解决方案了吗?我正在尝试做类似的事情。 - harbinja
3个回答

1
通过将活动的方向强制设置为纵向模式,您无法接收到方向更改。

那么你无法指定特定的方向并接收通知吗? - Gratzi
据我所知,这是不可能的。在这里检查这篇帖子。https://dev59.com/AW035IYBdhLWcg3wGMLa - Balaji Khadake
我已经阅读了一些相关内容,有些人说它应该可以工作。但对于我来说并没有。无论如何,我认为不理解为什么阻止方向会阻止通知。这些是分开的功能。这没有逻辑性。 - Gratzi
我也不理解这个。但是,我曾经遇到过同样的问题。 - Balaji Khadake

1

检查Manifest.xml文件。它应该像下面这样:

    <activity android:name="YourActivity1"
        android:screenOrientation="portrait" android:windowSoftInputMode="adjustPan"
        android:configChanges="orientation|keyboardHidden"></activity>
    <activity android:name="YourActivity2"
        android:screenOrientation="portrait" android:windowSoftInputMode="adjustPan"
        android:configChanges="orientation|keyboardHidden"></activity>


-1

你确定你是为主活动编写这个代码吗,像这样< activity android:screenOrientation="portrait"...


这是代码:<activity android:name=".ui.activities.Home" android:screenOrientation="portrait" android:configChanges="keyboardHidden|orientation" android:windowSoftInputMode="adjustPan"> <meta-data android:name="android.app.default_searchable" android:value=".ui.activities.Search" /> </activity> - Gratzi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接