2017-08-31 45 views
0

我正在开发基于正常活动的应用程序。 我已经从设备设置关闭设备方向。 当我在设备上运行我的应用程序时,应用程序会根据设备移动更改方向。 即使设备方向被锁定,我也不知道应用程序如何旋转。 在堆栈溢出或任何其他论坛上没有报告或询问过此类实例/问题。 请指出,我可能会错过什么?即使锁定设备方向,应用程序也会自动旋转

回答

0

这是非常愚蠢的错误,但我想的共享位置的情况下,任何其他人面临这个问题。 在一个点上,在我的申请,我是编程设定装置定向SCREEN_ORIENTATION_FULL_SENSOR:

activityContext.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_FULL_SENSOR); 

这使得基于传感器的应用改变方向,即使用户已经锁定设备的方向。

0

你可以检查设备是否旋转开启或关闭,然后锁定它,就像这样:

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); 
} 
+0

我不希望我的活动被锁定。我希望他们能够改变方向,只有当设备方向没有锁定在设备设置中。 – LoveForDroid

+0

我编辑了我的答案,看看它是否适合你 – MrAppMachine

+0

为什么我需要锁定在第一位?如果设备方向被锁定,我的应用程序不应该旋转。这很简单。 – LoveForDroid

相关问题