【发布时间】:2019-04-24 20:37:33
【问题描述】:
如果在 Android 设备中自动旋转选项已关闭 - 我如何检查用户是否选择将设备锁定为纵向或横向模式?
我不能依赖用户更改设置时设备所处的实际方向 - 在某些设备(主要是手机)中,只有纵向锁定,即使设备处于横向,它也会打开.
我使用这段代码,但它仅在自动旋转打开或关闭时返回,而不是实际的锁定方向。
这适用于在 Unity 中开发的应用,因此我们将不胜感激 Unity 或 Android 原生建议。
谢谢!
private static bool DeviceAutoRotationIsOn()
{
using (var actClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer"))
{
var context = actClass.GetStatic<AndroidJavaObject>("currentActivity");
var systemGlobal = new AndroidJavaClass("android.provider.Settings$System");
var rotationOn = systemGlobal.CallStatic<int>("getInt",
context.Call<AndroidJavaObject>("getContentResolver"), "accelerometer_rotation");
return rotationOn == 1;
}
}
【问题讨论】: