Если на устройстве 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;
}
}