使用以下代码,我可以启用或禁用整个设备的自动旋转
Settings.System.putInt(
getActivity().getContentResolver(),
Settings.System.ACCELEROMETER_ROTATION,
orientationEnabled //0 means off, 1 means on
);
我怎么能这样做但限于我的应用程序?我不想在使用我的应用程序后更改全局设置,强制用户恢复它们。
编辑: 我想在运行时更改该设置,而不是永久锁定它 例如,在某些时候启用自动旋转,因此如果他愿意,可以改变方向,但不要强迫他(因此solution不合适)。
答案 0 :(得分:1)
要暂时禁用“活动”中的方向更改,请调用此方法:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_NOSENSOR);
然后重新启用方向更改调用:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);
答案 1 :(得分:1)
你可以在AndroidManifest里面的活动标签
中启用/禁用屏幕旋转喜欢这个
<activity
---
android:screenOrientation="locked"
---- />
所有screenOrientation选项
android:screenOrientation=["unspecified" | "behind" |
"landscape" | "portrait" |
"reverseLandscape" | "reversePortrait" |
"sensorLandscape" | "sensorPortrait" |
"userLandscape" | "userPortrait" |
"sensor" | "fullSensor" | "nosensor" |
"user" | "fullUser" | "locked"]
希望这会对你有所帮助。