我有一个我想阻止旋转的活动,因为我正在启动一个AsyncTask,屏幕旋转使它重新启动。

有没有办法告诉这个活动“即使用户像疯了一样摇晃他的手机也不要旋转屏幕”?


当前回答

Add

android:screenOrientation="portrait" 

or

 android:screenOrientation="landscape" 

到<activity>元素/s中 拿到载货单,你就完了。

其他回答

在AndroidManifest.xml中,ACTIVITY的以下属性就是你所需要的:

android:configChanges="orientation"

因此,完整的活动节点将是:

<activity android:name="Activity1"
          android:icon="@drawable/icon"
          android:label="App Name"
          android:excludeFromRecents="true"
          android:configChanges="orientation">
    <intent-filter>
        <action android:name="android.intent.action.MAIN"/>
        <category android:name="android.intent.category.LAUNCHER"/>
    </intent-filter>
</activity>

防止屏幕旋转只需在清单中添加以下一行。

<activity
        android:name=".YourActivity"
        android:screenOrientation="portrait" />

这对我很有用。

您必须在manifest.xml文件中添加以下代码。 它不应该旋转的活动,在该活动中添加此元素

android:screenOrientation="portrait"

那么它就不会旋转。

在AndroidManifest.xml文件中使用“portrait”用户似乎是一个很好的解决方案。但它会迫使某些设备(在横向环境下工作得最好)进入纵向模式,而不能获得正确的方向。在最新的Android版本上,你会得到一个错误。所以我的建议是使用“nosensor”。

<activity
        ...
        ...
        android:screenOrientation="nosensor">

Add

android:screenOrientation="portrait" 

or

 android:screenOrientation="landscape" 

到<activity>元素/s中 拿到载货单,你就完了。