即使锁定设备方向,应用程序也会自动旋转
问题描述:
我正在开发基于正常活动的应用程序。 我已经从设备设置关闭设备方向。 当我在设备上运行我的应用程序时,应用程序会根据设备移动更改方向。 即使设备方向被锁定,我也不知道应用程序如何旋转。 在堆栈溢出或任何其他论坛上没有报告或询问过此类实例/问题。 请指出,我可能会错过什么?即使锁定设备方向,应用程序也会自动旋转
答
这是非常愚蠢的错误,但我想的共享位置的情况下,任何其他人面临这个问题。 在一个点上,在我的申请,我是编程设定装置定向SCREEN_ORIENTATION_FULL_SENSOR:
activityContext.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_FULL_SENSOR);
这使得基于传感器的应用改变方向,即使用户已经锁定设备的方向。
答
你可以检查设备是否旋转开启或关闭,然后锁定它,就像这样:
if (android.provider.Settings.System.getInt(getContentResolver(), Settings.System.ACCELEROMETER_ROTATION, 0) == 1){
//Auto Rotate is on, so don't lock
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);
}
else{
//Auto Rotate is off, so lock
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
我不希望我的活动被锁定。我希望他们能够改变方向,只有当设备方向没有锁定在设备设置中。 – LoveForDroid
我编辑了我的答案,看看它是否适合你 – MrAppMachine
为什么我需要锁定在第一位?如果设备方向被锁定,我的应用程序不应该旋转。这很简单。 – LoveForDroid