Блокировка автоматического поворота на Android не работает - PullRequest
0 голосов
/ 09 марта 2020

Мой режим ориентации установлен на Автоповорот, пользователи могут играть в альбомном или портретном режимах.

Проблема заключается в том, что пользователь блокирует вращение на своем устройстве (кнопка блокировки в настройках android) при повороте. телефон, приложение все еще вращается, почему оно не заблокировано, как в других приложениях? Я попробовал старое решение, но оно не работает -

void OnApplicationFocus(bool haveFocus)
{
if (haveFocus) ToggleAutoRotation();
}

static void ToggleAutoRotation()
{
autoRotationOn = DeviceAutoRotationIsOn();
Screen.autorotateToPortrait = autoRotationOn;
Screen.autorotateToPortraitUpsideDown = autoRotationOn;
Screen.autorotateToLandscapeLeft = autoRotationOn;
Screen.autorotateToLandscapeRight = autoRotationOn;
Screen.orientation = ScreenOrientation.AutoRotation;
}

static bool DeviceAutoRotationIsOn()
{
#if UNITY_ANDROID && !UNITY_EDITOR
using (var actClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer"))
{
var context = actClass.GetStatic<AndroidJavaObject>("currentActivity");
AndroidJavaClass systemGlobal = new AndroidJavaClass("android.provider.Settings$System");
var rotationOn = systemGlobal.CallStatic<int>("getInt", context.Call<AndroidJavaObject>    ("getContentResolver"), "accelerometer_rotation");

return rotationOn==1;
}
#endif
return true;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...